Docker------镜像导入导出及基本操作(三)

系统

Ip

要求

Centos7.4

192.168.1.40

部署一台容器,在容器上安装nginx服务,配置网页,将运行完成的容器做成镜像

Centos7.4

192.168.1.50

将上面制作成的镜像导入到这台服务器上,:并且运行,测试访问网页内容是否相同

要求:

基于Centos:7 镜像运行一个容器,并且,在这个容器内部署Nginx服务。

1):下载镜像   docker  pull  centos:7

 

2):运行容器   docker  run  -it  --name   webapp   --restart=always  centos:7

3) :   进入容器,开始部署nginx服务:


[root@docker ~]# docker cp nginx-1.14.0.tar.gz webapp:/root   ###将nginx包导入到容器内
[root@docker ~]# docker exec -it webapp /bin/bash             ###进入容器内
[root@0e3d9e4271d5 ~]# ls
anaconda-ks.cfg  nginx-1.14.0.tar.gz                          ###查看确认导入进来了
[root@0e3d9e4271d5 nginx-1.14.0]# cd nginx-1.14.0
[root@0e3d9e4271d5 nginx-1.14.0]# tar zxf nginx-1.14.0.tar.gz    ###解压缩
[root@0e3d9e4271d5 nginx-1.14.0]# yum -y install gcc pcre-devel openssl-devel  zlib-devel
[root@0e3d9e4271d5 nginx-1.14.0]# useradd -M -s /sbin/nologin nginx 
[root@0e3d9e4271d5 nginx-1.14.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[root@0e3d9e4271d5 nginx-1.14.0]# yum -y install make     ###最小化安装的系统所以需要安装
[root@0e3d9e4271d5 nginx-1.14.0]# make && make install
 [root@0e3d9e4271d5 nginx-1.14.0]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin[root@0e3d9e4271d5 nginx-1.14.0]# nginx 
[root@0e3d9e4271d5 nginx-1.14.0]# cd /usr/local/nginx/html/
[root@0e3d9e4271d5 html]# ls
50x.html  index.html
[root@0e3d9e4271d5 html]# echo this is a testweb  in container > index.html
[root@0e3d9e4271d5 html]# curl 127.0.0.1
this is a testweb in container
[root@0e3d9e4271d5 /]# yum provides ip              ###查看那个组件支持后面的命令
[root@0e3d9e4271d5 /]# yum -y install net-tools     ### 安装支持容器查看ip
查看ip退出,
[root@0e3d9e4271d5 /]# exit
exit
[root@docker ~]# curl 172.17.0.2
this is a testweb in container

将运行完成的容器,制作成一个镜像,然后再根据此镜像运行一个容器,保证两个容器的主页面内容是一样的:

docker   commit   webapp  lrb1:12-10
格式:[docker    commit   容器名称  需创建的镜像名称]
###反馈出一个hash值,相当于镜像id

[root@docker ~]# docker images    
###查看镜像已经制作成功

然后再根据此镜像运行一个容器,保证两个容器的主页面内容是一样的。

docker run -it --name lvranbo1   lrb1:12-10
###进去会发现这个刚创建的容器插入同一镜像后配置都一样

[root@ccca9a0406e0 ~]# nginx     ###启动服务
[root@ccca9a0406e0 ~]# curl 172.17.0.2
this is a testweb in container

将此镜像导出到docker02上,在docker02上根据此镜像运行一个容器,测试访问界面内容。

[root@docker ~]# docker save > cs.tar lrb1:12-10
###[格式: 导出>导出名  导出镜像名称]

[root@docker ~]# scp cs.tar 192.168.1.50:    
###[格式: scp  源文件   目标ip地址:路径]
root@192.168.1.50's password: 
cs.tar                                                   100%  370MB  73.9MB/s   00:05 



再第二台虚拟机上查询:
[root@docker2 ~]# ls
anaconda-ks.cfg  cs.tar  initial-setup-ks.cfg
[root@docker2 ~]# docker load < cs.tar           ###将这个文件导入到docker中
77b174a6a187: Loading layer  211.2MB/211.2MB
2e35e64ed061: Loading layer  176.3MB/176.3MB
Loaded image: lrb1:12-10

[root@docker2 ~]# docker run -it --name asd lrb1:12-10     ###运行容器并指定镜像
[root@d9e306e6d6da /]# nginx                               ###启动服务
[root@ccca9a0406e0 ~]# curl 172.17.0.3
this is a testweb in container

测试成功!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值