您的位置:首页 > 运维架构 > Docker

docker镜像、容器迁移

2020-07-24 10:55 573 查看

容器迁移
导出容器,将容器打包为tar包
docker export 容器名称>XXXX.tar
导入容器
docker import XXXX.tar 容器名称:版本
打标
docker tag 容器名称:版本 镜像库镜像名称:版本
上传到私有镜像库
docker push 镜像库镜像名称:版本

镜像迁移
将镜像打包为tar包
docker save nginx -o nginx.tar
将tar包传送到其他docker主机,并导入
docker load < nginx.tar

将容器生成为本地镜像
docker commit 容器ID 镜像名称:版本
docker commit -m “my images version1” -a “gao” 容器ID 镜像名称:版本
参数解释:
-m 添加注释
-a 作者
108a85b1ed99 容器环境id
daocloud.io/ubuntu:v2 镜像名称:hub的名称/镜像名称:tag
-p,–pause=true 提交时暂停容器运行

通过Dockerfile构建镜像
这里使用centos7.6做为基础镜像构建新镜像
cat > Dockerfile <<EOF
FROM daocloud.io/library/centos:7.6
MAINTAINER Testder 123@126.com
ENV container docker
RUN yum -y swap – remove fakesystemd – install systemd systemd-libs
RUN yum -y update; yum clean all;
(cd /lib/systemd/system/sysinit.target.wants/; for i in ;
do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done);
rm -f /lib/systemd/system/multi-user.target.wants/;
rm -f /etc/systemd/system/.wants/;
rm -f /lib/systemd/system/local-fs.target.wants/;
rm -f /lib/systemd/system/sockets.target.wants/udev;
rm -f /lib/systemd/system/sockets.target.wants/initctl;
rm -f /lib/systemd/system/basic.target.wants/;
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ “/sys/fs/cgroup” ]
CMD ["/usr/sbin/init"]
EOF

创建centos7基础镜像
docker build --rm -t centos7.6-new .
给启动的容器赋权,进入容器
docker run -itd --name centos7.6-new –privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro centos7.6-new
docker exec -it centos7.6-new /bin/bash
在容器中安装httpd服务,并启动
[root@6106a025c05f /]#yum -y install httpd
[root@6106a025c05f /]#systemctl start httpd

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: