docker镜像制作、推送(push)到 Docker Hub、迁移 左手的ㄟ右手 2022-03-16 12:13 528阅读 0赞 ### 一、利用 commit 制作镜像 ### docker commit 语法 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] Options: -a :提交的镜像作者; -c :使用Dockerfile指令来创建镜像; -m :提交时的说明文字; -p :在commit时,将容器暂停 1、在公有镜像拉取(pull)镜像模板 [root@localhost ~]# docker pull centos ![在这里插入图片描述][20190227205724298.png] 2、启动 centos ,进去容器 [root@localhost ~]# docker run -tip 80:80 --name centos-nginx -v /data/nginx/:/usr/local/nginx centos /bin/bash [root@localhost nginx]# docker attach centos-nginx [root@81d34089ea91 ~]# yum install -y gcc* && zlib && zlib-devel && pcre && pcre-devel && openssl && openssl-deve && make 进入容器里面编译安装 ningx [root@81d34089ea91 ~]# wget http://nginx.org/download/nginx-1.15.5.tar.gz ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70] 编译安装 nginx ,启动 nginx [root@81d34089ea91 ~]# tar -xf nginx-1.15.5.tar.gz [root@81d34089ea91 ~]# cd nginx-1.15.5 [root@81d34089ea91 ~]# ./configure –prefix=/usr/local/nginx [root@81d34089ea91 ~]# make && make install [root@81d34089ea91 ~]# /usr/local/nginx/sbin/nginx 查看开启的容器 [root@localhost ~]# docker ps ![在这里插入图片描述][20190227211834109.png] 3、运用 docker commit 制作镜像 [root@localhost ~]# docker commit 81d34089ea91 mycentos-nginx sha256:04ad699dbfc71ce5a696ed3b46870d2eaca897865802e54d3b7b989bc0240804 [root@localhost ~]# ![在这里插入图片描述][201902272121371.png] ### 二、把镜像推送到 Docker Hub 上 ### 推送镜像的规范是: docker push "Docker Hub容器注册用户名"/镜像名 1、到 [Docker Hub 官网][Docker Hub] 注册 Docker Hub 账号 2、查看容器ID,对应的镜像标准标签名 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 1] 3、推送镜像 先在本地终登录: docker login ![在这里插入图片描述][20190227213338786.png] 接着上传镜像:\# docker push \[镜像名\] ![在这里插入图片描述][20190227213524920.png] 5、上传完成后就在 [Docker Hub账号][Docker Hub] 看到自己上传的镜像 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 2] 6、测试另一台服务器(pull)Docker Hub 上传的镜像 先登录账号,再拉取(pull)镜像 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 3] 7、启动拉取的镜像,进入容器并且启动 nginx 服务 [root@localhost ~]# docker run -tidp 80:80 --name centos -v /data/nginx/:/usr/local/nginx docker.io/rosendeng/mycentos-nginx adad13d3d51458768fb0117bd17480129387c52d17376a7831302f200440d91b [root@localhost ~]# docker attach adad13d3d514 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 4] ### 三、导出容器保存,迁移可用 ### 1、查看要导出的容器:docker ps 通过 export 导出容器:docker export 81d34089ea91 > docker-nginx.tar ![在这里插入图片描述][20190228101708730.png] 2、把本地导出的容器迁移到另外一台电脑上 ![在这里插入图片描述][20190228103635711.png] 3、通过 improt 导入容器:docker import docker-nginx.tar ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 5] 或者导入容器快照(可添加命名和版本号):cat docker-nginx.tar | docker import - nginx:v1.0 ![在这里插入图片描述][20190228111327851.png] 4、可用 tag 修改容器名字和版本信息 ![在这里插入图片描述][20190228111701774.png] 5、启动运行对应的容器 docker run -tidp 80:80 --name centos-nginx -v /data/nginx/:/usr/local/nginx centos-nginx:v1.2 进去启动对应的 nginx 服务 [20190227205724298.png]: /images/20220316/f0904cd3e204411f8813982b2203dc58.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70]: /images/20220316/69ebff4c6ba6405e9482fa1b23e96cb5.png [20190227211834109.png]: /images/20220316/b31b36b59a064b139aa6b25d70f42b44.png [201902272121371.png]: /images/20220316/f541101c6d024796bea4ed504802e4f6.png [Docker Hub]: https://cloud.docker.com/ [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 1]: /images/20220316/4e04a1aad6be47e89762d402c2aa9e63.png [20190227213338786.png]: /images/20220316/03064b5412fa4d68b933d64a321746a9.png [20190227213524920.png]: /images/20220316/46d07f557f854f51b974908717d41aa9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 2]: /images/20220316/01656887e6f1451b94764416ee49a054.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 3]: /images/20220316/d99fae9303bf4375a3c928e55be289b4.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 4]: /images/20220316/56a121a0399c4a8d8e1feffa07b3093b.png [20190228101708730.png]: /images/20220316/9f05cb507d7b4c7a9b47377c84e36181.png [20190228103635711.png]: /images/20220316/b81130e678184f1f88d5dec1d4c5010f.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2Nzk3Mg_size_16_color_FFFFFF_t_70 5]: /images/20220316/d707e0a76f4a4d7ba89cd8f7d7a73e4b.png [20190228111327851.png]: /images/20220316/90163e4ed6ab43ca91895bfc4d55cc80.png [20190228111701774.png]: /images/20220316/332e7ff7fcbc4b6f9c37f12c9b31e0dd.png
还没有评论,来说两句吧...