实验 详解Docker私有仓库建立以及数据卷,数据卷容器,容器互联

一 私有仓库建立

1. 下载仓库重要组件registry
[root@localhost ~]# docker pull registry

2.修改镜像加速文件
[root@localhost ~]# vim /etc/docker/daemon.json
{
 "insecure-registries": ["20.0.0.101:5000"],
 "registry-mirrors": ["https://p3d56qc5.mirror.aliyuncs.com"]
}

3.重启docker
[root@localhost ~]# systemctl restart docker

4. 创建仓库容器
[root@localhost ~]# docker images
registry              latest              2d4f4b5309b1        4 months ago        26.2MB
[root@localhost ~]# docker create -it registry /bin/bash
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                            PORTS               NAMES
63ac53ce92f2        registry            "/entrypoint.sh /bin…"   30 seconds ago      Created 

5.宿主机的/opt/registry自动创建挂载容器中的/tmp/registry
[root@localhost ~]# docker run -d -p 5000:5000 -v /opt/registry:/tmp/registry registry
bcca1388b54264e7fba3ecee901fd1845d22a20776efca2f7a66e21d94ffb243

6.更改标签为20.0.0.101:5000/nginx
[root@localhost ~]# docker tag nginx:new 20.0.0.101:5000/nginx

7.上传
[root@localhost ~]# docker push 20.0.0.101:5000/nginx

8.获取私有仓库列表
[root@localhost ~]# curl -XGET http://20.0.0.101:5000/v2/_catalog
{"repositories":["nginx"]}

9.删除镜像
[root@localhost ~]# docker rmi nginx:new 

10.测试私有仓库下载
[root@localhost ~]# docker pull 20.0.0.101:5000/nginx
[root@localhost ~]# docker images
20.0.0.101:5000/nginx   latest              439326e6c24e        19 hours ago        759MB

二 Docker 数据卷

[root@localhost ~]# docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash
[root@553e440e364e /]# cd data1/
[root@553e440e364e data1]# ll
total 0
[root@553e440e364e data1]# touch a.html
[root@553e440e364e data1]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 11 05:38 a.html
[root@553e440e364e data1]# exit
exit
[root@localhost ~]# cd /var/www/
[root@localhost www]# ll
总用量 0
-rw-r--r-- 1 root root 0 11月 11 13:38 a.html

三 数据卷容器

1. 数据卷容器
[root@localhost ~]# docker run --name web100 -v /data1 -v /data2 -it centos:7 /bin/bash
[root@7e995aaa0d91 /]# ll
drwxr-xr-x   2 root root     6 Nov 11 04:16 data1
drwxr-xr-x   2 root root     6 Nov 11 04:16 data2

2. 创建测试文件
[root@7e995aaa0d91 /]# cd data1/
[root@7e995aaa0d91 data1]# touch a.txt
[root@7e995aaa0d91 data1]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 11 04:17 a.txt
[root@7e995aaa0d91 data1]# cd ..
[root@7e995aaa0d91 /]# cd data2/
[root@7e995aaa0d91 data2]# touch b.txt
[root@7e995aaa0d91 data2]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 11 04:17 b.txt

3. 新容器挂载数据卷容器web100
[root@localhost ~]# docker run -it --volumes-from web100 --name db1 centos:7 /bin/bash
[root@baa1939952ec /]# ll
drwxr-xr-x   2 root root    19 Nov 11 04:17 data1
drwxr-xr-x   2 root root    19 Nov 11 04:17 data2

4. 验证挂载
[root@baa1939952ec /]# cd data1/
[root@baa1939952ec data1]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 11 04:17 a.txt
[root@baa1939952ec data1]# cd .. 
[root@baa1939952ec /]# cd data2/
[root@baa1939952ec data2]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 11 04:17 b.txt

四 容器互联

1. 创建并运行容器取名web11,端口号自动映射
[root@localhost ~]# docker run -itd -P --name web11 centos:7 /bin/bash
6b872bea0f2f8b1beacac85a66970938438e3cdb76c19c5cf7a938d02fd4fa5b

2. 创建并运行容器取名web22,链接到web11和其通信
[root@localhost ~]# docker run -itd -P --name web22 --link web11:web11 centos:7 /bin/bash		##--link name:alias:--link 容器名:别名
e35c9b4ceaa6f4737c7332ccc332de370a4d03b16b7319622683e4c732abde13

3. 进入容器web22,测试ping web11
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                     PORTS                     NAMES
e35c9b4ceaa6        centos:7            "/bin/bash"              6 seconds ago        Up 6 seconds                                         web22
6b872bea0f2f        centos:7            "/bin/bash"              About a minute ago   Up About a minute                                    web11
baa1939952ec        centos:7            "/bin/bash"              6 minutes ago        Exited (0) 2 minutes ago                             db1
7e995aaa0d91        centos:7            "/bin/bash"              8 minutes ago        Up 8 minutes                                         web100
170462f135fd        mysql:centos        "init"                   36 minutes ago       Up 36 minutes              0.0.0.0:32768->3306/tcp   wonderful_saha
bcca1388b542        registry            "/entrypoint.sh /etc…"   About an hour ago    Up About an hour           0.0.0.0:5000->5000/tcp    crazy_engelbart
[root@localhost ~]# docker exec -it e35c9b4ceaa6 /bin/bash
[root@e35c9b4ceaa6 /]# ping web11
PING web11 (172.17.0.5) 56(84) bytes of data.
64 bytes from web11 (172.17.0.5): icmp_seq=1 ttl=64 time=0.131 ms
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值