Java教程

镜像导入导出

本文主要是介绍镜像导入导出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

镜像导入导出的场景:

异地的开发写完代码,把自己的应用程序打包成镜像,发送给测试,测试运行镜像(前提是把镜像导入到docker),镜像运行成功后,等于环境部署成功,可以开始测试。

开发操作:

1、写代码

2、将写的代码打包成镜像

      1)执行代码的依赖环境(比如写的代码需要在Linux上执行,哪么就需要Linux的环境)

      2)执行代码本身的环境(比如Java的环境需要jdk)

3、把镜像导出

      docker image save centos:7.8.2003(被导出的镜像) -o D:/temp.taz

 

 

 

 

4、发送给测试

测试操作:

1、接收开发发送的镜像

2、导入镜像到docker中,导出镜像成功后输出的信息:e07ee1baac5f: Loading layer 14.85kB/14.85kB Loaded image: hello-world:latest

3、运行镜像

4、开始测试

 

 

docker run 镜像名称

这个过程可以理解为:把镜像文件创建为docker容器的一部分,然后再进行启动。需要特别注意的是:容器内的进程必须是前台运行状态,否则容器直接退出。

还有一点需要特别注意:docker run 镜像名

如果镜像文件在本地不存在,就会在线去下载该镜像的资源信息,如:docker run -it --rm centos

docker的容器启动成功后,使用docker ps -a可以查看容器的ID记录信息

 

 

githup:公有云成都代码托管平台

dockerhup:公有云的docker镜像托管平台

容器命令

在运行镜像中,后面需要带一些指令的信息,这些指令的信息具体汇总如下:

-d:后台运行

-it:交互式命令

--rm:容器退出后自动被删除

--name:给容器起一个名字

-p:端口映射

容器信息的查看:

Linux:docker ps -a | grep 容器ID 

windows:docker ps -a | findstr 容器ID

查看容器的详细的信息:docker container inspect 容器ID

查看容器的日志

1、运行镜像 docker run -it --rm centos

2、查看运行中的容器ID信息 docker ps -a

3、获取到容器的ID后,查看容器实时的日志信息 docker logs -f 容器ID

4、比如在Linux中安装vim的编辑器,安装的命令为:yum install -y vim,那么在容器的日志记录中也会实时的显示安装他的全部信息

 

 

docker logs -f 容器ID:查看实时的日志文件内容,如果想退出,就需要按ctrl+c

docker logs 容器ID:一次性查看所有的日志文件内容

docker logs 容器ID | tail -3:查看最新的3行日志文件(日志最新的内容)  仅仅适用于Linux的系统

docker logs 容器ID | head 3:查看日志文件最前面的3行

 

容器的提交解决了什么?

解决了容器中安装的环境,但是必须在容器推出前要进行提交,如果没有提交,那么推出后,安装的环境等于再次安装

退出vim的步骤:

按下esc键,同时按下shift :,之后输入q!,按下回车键就会退出

 

容器提交的步骤:

1、运行镜像到容器后

2、在容器里面进行具体的操作(比如安装软件、搭建环境等),但是容器不能退出

3、打开一个新的控制台,查看到容器的ID  docker ps -a

4、对容器进行提交 docker commit 容器ID

      镜像新的名称,如:docker commit  容器ID centos_vim_mysql

5、待容器提交成功后,之前的容器进行退出

6、查看所有的镜像,就会发现存在centos_vim_mysql的镜像

7、运行新的镜像文件,如docker run -it --rm centos_vim_mysql

 

docker image tag 镜像ID centos_vim(镜像的名称)  指定镜像的名称

1、如果镜像名称是none就不会复制,直接把none的镜像名称修改为新的镜像名称

2、如果镜像名称不是none,那么在此修改等价于复制

 

 

1、获取nginx的镜像:docker pull nginx

2、端口映射:-p 80(宿主机的端口):(容器里面的端口)

3、后台方式运行容器: docker run -d -p 80:80 nginx

4、查询容器的端口: docker port 容器ID

 演示:容器的停止和启动

docker port ID、docker stop ID、docker port ID、dockerstart ID、docker port ID

 

这篇关于镜像导入导出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!