docker(2)
镜像导入导出的场景:
异地的办公模式,开发把应用程序打包成镜像,然后发送给测试;
测试运行镜像(镜像导入中docker中),镜像运行成功等于环境部署成功,可以测试。
开发操作步骤:
一、写代码;
二、把写的代码打包成镜像:
A.执行代码的依赖环境(比如写的代码需要在Linux上执行,那么就需要Linux的环境),
B.执行代码本身的环境(比如java的环境需要jdk);
三、把镜像导出
docker image save 需要导出镜像名称 -o 被导出镜像在本地储存的位置/定义的镜像名称;
四、发送给测试。
测试操作步骤:
一、接收开发发送的镜像;
二、导入镜像到docker中;
三、运行镜像;
四、开始测试。
(1)导出镜像命令 docker image save hello-world:latest(被导出的镜像:镜像版本) -o 被导出的镜像在本地储存的位置/定义镜像的储存时的名称。
如:导出hello-world将其储存在d盘的zl文件夹中,并将其命名为hello.taz
命令如下:docker image save hello-world:latest -o d:/zl/hello.taz
(2)导入镜像命令 docker image load -i 被导入的镜像储存位置/镜像名称。
如:导入储存在d盘的zl文件夹中的hello-world镜像
命令如下:docker image load -i d:/zl/hello.taz
2、容器信息的查看
(1)linux:docker ps -a | grep 容器ID
(2)windows:docker ps -a | findstr 容器ID
(3)查看容器的详细的信息:docker container inspect 容器ID
3、查看容器的日志步骤
(1)运行镜像 docker run -it --rm centos
(2)查看运行中的容器的ID信息 docker ps -a
(3)获取到容器的ID后:
A.查看容器实时的日志信息 docker logs -f 容器ID
B.查看容器所有的日志信息 docker logs 容器ID
C.查看容器部分的日志信息 docker logs 容器ID | head -N:开始N行日志文件或者docker logs 容器ID | tail -N:最后N行日志文件
如:在安装vim的编辑器,安装的命令为:yum install -y vim,那么在容器的日志记录中也会实时的显示安装它的全部信息
4、容器的提交
容器的提交解决了什么?
解决了容器中安装的环境,但是必须在容器退出前要进行提交,如果没有提交,那么退出后,安装的环境等于再次安装。
退出vim的步骤:
一、按下esc键;
二、按下shift+:
三、:后面输入q!,按下回车键,就会退出。
容器提交的步骤:
一、运行镜像,到容器后;
二、在容器里面进行具体的操作(比如安装软件,比如搭建环境等等),但是容器千万不能退出;
三、打开一个新的控制台,查看到容器的ID docker ps -a;
四、对容器进行提交 docker commit 容器ID 镜像的新名称 (如wsyl);
五、待容器提交成功后,之前的容器进行退出;
六、查看所有镜像,就会发现存在wsyl的镜像。
5、修改镜像的名称 docker image tag 563d0acb2356(镜像的ID) centos_vim(镜像的名称)
(1)如果经常名称是none ,那么就不会复制,直接把none的镜像名称修改为新的镜像名称;
(2)如果镜像名称不是none,那么在此修改,等价于复制。
6、获取nginx的镜像
步骤如下:
(1)获取nginx的镜像 docker pull nginx
(2)端口映射:-p 80(宿主机的端口):80(容器里面的端口)
(3)后台方式运行容器 docker run -d -p 80:80 nginx
(4)查询容器的端口 docker port 容器的ID
(5)下面演示容器的停止和启动