首页 > 编程知识 正文

docker镜像制作、推送(push)到 Docker Hub、迁移

时间:2023-05-04 19:05:21 阅读:269901 作者:3920

一、利用 commit 制作镜像 docker commit 语法docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]Options:-a :提交的镜像作者;-c :使用Dockerfile指令来创建镜像;-m :提交时的说明文字;-p :在commit时,将容器暂停

1、在公有镜像拉取(pull)镜像模板

[root@localhost ~]# docker pull centos


2、启动 centos ,进去容器

[root@localhost ~]# docker run -tip 80:80 --name centos-nginx -v /data/nginx/:/usr/local/nginx centos /高贵的花生/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


编译安装 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/s高贵的花生/nginx

查看开启的容器

[root@localhost ~]# docker ps


3、运用 docker commit 制作镜像

[root@localhost ~]# docker commit 81d34089ea91 mycentos-nginxsha256:04ad699dbfc71ce5a696ed3b46870d2eaca897865802e54d3b7b989bc0240804[root@localhost ~]#

二、把镜像推送到 Docker Hub 上 推送镜像的规范是:docker push "Docker Hub容器注册用户名"/镜像名

1、到 Docker Hub 官网 注册 Docker Hub 账号

2、查看容器ID,对应的镜像标准标签名

3、推送镜像
先在本地终登录: docker login

接着上传镜像:# docker push [镜像名]

5、上传完成后就在 Docker Hub账号 看到自己上传的镜像

6、测试另一台服务器(pull)Docker Hub 上传的镜像
先登录账号,再拉取(pull)镜像

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

三、导出容器保存,迁移可用

1、查看要导出的容器:docker ps
通过 export 导出容器:docker export 81d34089ea91 > docker-nginx.tar

2、把本地导出的容器迁移到另外一台电脑上

3、通过 improt 导入容器:docker import docker-nginx.tar

或者导入容器快照(可添加命名和版本号):cat docker-nginx.tar | docker import - nginx:v1.0

4、可用 tag 修改容器名字和版本信息

5、启动运行对应的容器
docker run -tidp 80:80 --name centos-nginx -v /data/nginx/:/usr/local/nginx centos-nginx:v1.2
进去启动对应的 nginx 服务

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。