day101

  • 一.使用doker镜像
  • 使用inspect命令查看详细信息
  • 使用 history 命令查看镜像历史
  • 清理镜像
  • 基于容器保存
  • 基于本地模板导入
  • 二.使用docker容器
  • 创建容器
  • 查看容器列表
  • 进入容器
  • 导出容器为镜像[export]
  • 导入镜像[import]
  • 导出镜像为镜像压缩包(save)
  • 导入镜像


一.使用doker镜像

docker inspect后面跟容器id docker inspect 详解_压缩包

使用inspect命令查看详细信息

docker inspect 参数

使用 docker inspect 命令获取镜像的详细信息,包括 PID、作者、架构等等。

docker inspect后面跟容器id docker inspect 详解_nginx_02


docker容器中至少有一个应用程序运行在前台

使用 history 命令查看镜像历史

docker history 参数

docker inspect后面跟容器id docker inspect 详解_压缩包_03

清理镜像

docker image prune [参数]
-a : 删除所有未被使用到的镜像
-f : 强制删除

基于容器保存

docker commit 参数[新的镜像名称]
-a : 指定维护者
-m : 简介
-p : 当保存容器时,容器暂停运行

启动一个容器,修改并保存

docker inspect后面跟容器id docker inspect 详解_nginx_04

基于本地模板导入

用户也可以将保存的镜像传到另一台机器上,另一台机器就可以直接导入

[root@alvin-test-os ~]# cat ubuntu-18.04-x86_64-minimal.tar.gz | docker import -ubuntu:18.04

二.使用docker容器

docker inspect后面跟容器id docker inspect 详解_docker_05

容器启动参数

-d

以守护进程方式运行

-p

指定映射端口

-P

随机映射端口

-i

保持标准输入打开

-t

分配一个伪终端

-v

设置挂载文件到主机上

–rm

当容器关闭时自动删除

–name

为启动的容器设置一个名字

–network

指定使用哪个网络

-e

设置容器中的环境变量

–link

链接到另一个容器

-h

指定容器内的主机名

docker中对外提供服务的实例

创建容器

docker run 参数 [命令]
特点:
1.检查本地是否有所需镜像(如果没有,立即去相应的镜像仓库下载)
2:根据参数启动

参数:
-d:以守护进程的方式运行一个容器
	docker run -d nginx:1.19.5
-name:指定一个容器的名称(将名称加入到Docker DNS当中)
	docker run --name nginx -d nginx:1.19.5
-p(小写):指定固定端口映射[宿主主机端口号:容器内部端口号]
	docker run -d -p 8099:80 nginx:1.19.5
-P(大写):指定随机端口映射
	docker run -d -P nginx:1.19.5
-v:挂载存储卷
	docker run -d -v [宿主主机的目录]:容器内的目录[启动命令]
--rm:当一个容器的生命周期结束时,立即删除该容器
	docker run -d --rm[镜像名称或ID]
-e:在容器内设置一个环境变量
	docker run -d -e NGINX_VERSION=1.19.5000 nginx:1.19.5
	docker run -d -P -e MYSQL_ROOT_PASSWORD=123456

mysql:latest
-i : 打开标准输出
-t : 创建一个伪终端
	docker run -it centos bash

查看容器列表

docker ps (默认查询的是当前系统正在运行的容器)

-a : 显示搜索的容器(包括已停止的容器)
-q : 只显示容器ID

进入容器

docker exec -it [容器ID] bash

导出容器为镜像[export]

docker export [容器ID|容器名称] > [压缩包名称]
	docker export nginx_name > nginx.tar

docker inspect后面跟容器id docker inspect 详解_nginx_06

导入镜像[import]

docker import [压缩包名称]  镜像名称(自定义)
	docker import nginx.tar test/nginx:v1
### ===========================
docker export 和 docker import 区别?
docker export导出的是压缩包
docker import导出为镜像

docker inspect后面跟容器id docker inspect 详解_压缩包_07

导出镜像为镜像压缩包(save)

docker save [镜像id | 镜像名称] > [压缩包名称]
	docker save test/nginx:v2 > test_nginx.tar
参数:
	-o : 指定在一个压缩包内保存多个镜像

docker inspect后面跟容器id docker inspect 详解_docker_08


docker inspect后面跟容器id docker inspect 详解_nginx_09

导入镜像

docker inspect后面跟容器id docker inspect 详解_压缩包_10

docker load < [镜像压缩包]
docker load -i [镜像压缩包]

save和load 与 export和import 区别?
1、save保存比较完整,export仅仅保存镜像。
2、save保存的体积大于export保存的体积
3、import可以重命名,load不能重命名
4、save可以保存多个镜像,export只能保存一个容器。

save和export 使用场景?
1、打包镜像一般用save, 打包容器一般用export
2、需要构建历史信息的,可以使用save。