docker镜像制作

一、准备工作

关闭防火墙等
linux时间校对
试验环境
虚拟机服务器版本:centos7
镜像制作机IP地址:192.168.1.10
镜像接收测试机IP地址:192.168.1.20

二、镜像制作

[root@localhost ~]# docker pull centos     #拉取官方的centos系统镜像          
[root@localhost ~]# docker run -it --name nginx centos /bin/bash         #进入容器
[root@a0e807badc34 /]# yum install vim yum-utils nginx -y      #下载nginx等
[root@a0e807badc34 /]# vim /etc/yum.repos.d/nginx.repo         #设置 yum 存储库
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[root@a0e807badc34 /]# vim /etc/nginx/nginx.conf
daemon off;               #关闭守护程序
[root@a0e807badc34 /]# nginx -v        #查看nginx版本
nginx version: nginx/1.14.1
[root@a0e807badc34 /]# exit           #退出容器
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS         PORTS     NAMES
a0e807badc34   centos    "/bin/bash"   32 minutes ago   Up 6 minutes             nginx
[root@localhost ~]# docker commit -m "nginx" a0e807badc34 docker-nginx:1.14.1       #制作镜像,名称docker-nginx:1.14.1
sha256:757ee9786fc9bc5016b22fb426bff7416dabbfe773565ef124d519757dc1c810
[root@localhost ~]# docker images       #查看本地镜像,已生成成功
REPOSITORY     TAG       IMAGE ID       CREATED         SIZE
docker-nginx   1.14.1     757ee9786fc9   2 minutes ago   271MB
centos         latest    5d0da3dc9764   14 months ago   231MB
[root@localhost ~]# docker run -d -p 80:80 docker-nginx:1.14.1 nginx                 #运行自己制作的镜像
e239167eea401842c5622036838d50354f772fe44de5045f3c55a646f862de89
[root@localhost ~]# docker ps       
CONTAINER ID   IMAGE                COMMAND       CREATED          STATUS          PORTS                               NAMES
e239167eea40   docker-nginx:1.14.1   "nginx"       47 seconds ago   Up 46 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   hardcore_rhodes

访问测试
在这里插入图片描述

三、镜像打包

将制作好的docker镜像打包

[root@localhost ~]# docker save docker-nginx:1.14.1 > docker-nginx.tar

将docker-nginx.tar传到其他服务器上

[root@localhost ~]# scp /root/docker-nginx.tar root@192.168.1.20:/root/docker-nginx.tar 

将打包的镜像加载到新服务docker中

[root@localhost ~]# docker load < docker-nginx.tar   
[root@localhost ~]# docker images           #查看镜像

也可以采用samba等拷贝到指定服务器
samba安装

四、其他

1、docker镜像下载太慢
中科大 https://docker.mirrors.ustc.edu.cn

[root@localhost ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

2、镜像中yum update -y报错Error: Failed to download metadata for repo 'appstream': Cannot prepare inte

[root@a0e807badc34 /]# cd /etc/yum.repos.d/
[root@a0e807badc34 yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
[root@a0e807badc34 yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值