4-10 配置docker 静态IP 地址-配置docker 私有仓库

10.1   创建docker  静态化IP  

10.2   创建docker  私有化仓库 

10.3   使用阿里云私有仓库存储自己的docker镜像

10.1   创建docker静态化IP  

1.Docker  有以下四种网络模式

host模式  使用--net  =host  指定

container  模式   ,使用 --net=container:NAME_or_ID   指定

 none   模式,使用  --net=none  指定

  bridge   模式,使用  --net=bridge   指定,默认设置

默认选择bridge 的情况下,启动启动后通过DHCP  获取一个地址,不是我们想要的,在centos7系统上,docker  环境下,可以使用pipework   脚本对容器分配固定ip,    这个IP和物理机同同网段IP


10.1.2   配置桥接网络 

桥接本地物理网络的目录,是为了局域网内用户方便访问docker  实例服务,不需要各种端口映射,即可访问,但是这样做又违背了docker  容器的安全隔离的原则,工作中辩证的选择

桥接  设备 

安装包

1 )[root@xuegod6 ~]# mount /dev/sr0 /mnt/

mount: /dev/sr0 写保护,将以只读方式挂载

[root@xuegod6 ~]# rpm -ivh  /mnt/Packages/bridge-utils-1.5-9.el7.x86_64.rpm

2  )  把ens33  帮到br0  桥接上

root@xuegod6 network-scripts]# cp ifcfg-ens33 /opt/


重启网卡 systemctl restart network

   ifconfig 

 10.1.3   下载pipework   包 


[root@xuegod6 pipework-master]# which pipework

/usr/local/bin/pipework

[root@xuegod6 pipework-master]# echo $PATH 

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@xuegod6 ~]# systemctl restart docker

10.1.4    使用静态IP启动一个docker    实例

例1: 以none模式  使用--net=none    启动容器,并且开机docker  特权模式

[root@xuegod6 ~]# docker run -itd --net=none --privileged=true docker.io/centos bash

53d535e41349f0059fac1a8d7c479b512aab951d566e9473c704f4f5999af540

在后台运行



 
在没有开启的镜像执行

[root@xuegod6 ~]# docker run -it docker.io/centos:httpd bash


[root@xuegod6 ~]# docker run -it --privileged docker.io/centos:latest bash

[root@30c612c97ab5 /]# ls /dev/sda  发现能使用了 

/dev/sda

[root@30c612c97ab5 /]# ls /dev/

agpgart dmmidi        lp0   oldmem  shm     tty14  tty27  tty4  tty52  tty8   vcs2       vhci

autofs dri       lp1

[root@30c612c97ab5 /]# mount /dev/sda

sda  sda1  sda2  sda3 

[root@30c612c97ab5 /]# mount  /dev/sda1  /opt/   挂载成功

[root@30c612c97ab5 /]#

给docker 配置ip  

[root@xuegod6 ~]# pipework br0 30c612c97ab5 192.168.43.88/24@192.168.43.1

[root@xuegod6 ~]# ping 192.168.43.88 

PING 192.168.43.88 (192.168.43.88) 56(84) bytes of data.

64 bytes from 192.168.43.88: icmp_seq=1 ttl=64 time=0.181 ms

接着配置ip

进入docker  

[root@xuegod6 ~]# docker exec -it 30c612c97ab5 bash

[root@30c612c97ab5 /]# ls

安装工具包   yum install -y net-tools



实战1   使用静态IP启动一个web   服务器 

yum  install   httpd   -y    

httpd          直接运行httpd   命令   

cd    /var/www/html/

echo  aaaaaaaaaa>  index.html  

10.2   docker    私有仓库  Docker  Hub   这样的公共仓库可能不方便,   有时候无法访问,  用户可以创建规本地仓库给私人使用,这里使用的官方提供的工具docker-resistry    来配置私有库

1   使用官方提供的工具来配置

  docker -registry    是官方提供的工具,可以用于构建私有的镜像仓库

私有仓库的好处

1  节约带宽 

2  可以字节定制系统

docker-registry   这个工具镜像,直接下载并安装registry     镜像启动docker实例就可以了

有了 docker 以后,所有软件不再以office.exe   或lrzsz.rpm   形式发布,以docker  镜像发布,当安装软件并运行,就是指,下载docker  镜像并运行一个docker  实例


10。2.1     配置xuegod6   为docker  私有仓库 

   [root@xuegod6 ~]# systemctl stop firewalld

[root@xuegod6 ~]# systemctl    disable  firewalld

iptables   -L  -n    

1  不能关闭防火墙 ,因为docker  后期端口转发,需要使用firewalld    

启动docker   

systemctl    start    docker  

  拉取镜像   registry      镜像中包包括搭建本地私有仓库的软件

下载registry   上传到linux    

[root@xuegod6 ~]# docker load -i registry.tar

3  查看registry  镜像

 
4.从Docker  HUB  上拉取一个镜像测试

  方法一,本地导入

  上传busybox.tar    镜像到linux服务器,作为测试镜像

[root@xuegod6 ~]# docker load -i busybox.tar



5  创建镜像连接或为基础镜像打连接 

删除   docker    rmi         名字或者ID

语法:               docker    tag                   镜像名:  标签                私有仓库地址/  镜像名   :  标签  

  [root@xuegod6 ~]#   docker tag docker.io/registry:latest 192.168.43.99:5000/busybox:latest

6修改docker 配置文件,指定私有仓库url  

[root@xuegod6 ~]# vim /etc/sysconfig/docker

增加一行--insecure-registry 192.168.43.99:5000'

7  启动docker  使用registry   镜像搭建一个私有仓库

使用registry 镜像搭建一个私有仓库,registry  镜像中已经把搭建私有仓库安装好了看,我只需要使用registry 镜像运行一个docker镜像运行一个docker实例就可以了


[root@xuegod6 ~]# docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry

e78fe86d80ac7d488265c8a39029647654827d828d28680f8698a8a95f2efd4e


[root@xuegod6 ~]# netstat -tlunp | grep 5000

tcp6      0      0 :::5000                :::*

8    将刚大奥标签的192.168.43.5000/busybox    镜像,push   到本地私有仓库   中

[root@xuegod6 ~]# docker push 192.168.43.99:5000/busybox

The push refers to a repository [192.168.43.99:5000/busybox]

0912b310db10: Pushed

6767cac03a2d: Pushed

f38182d44088: Pushed

b5aac7bb5fdf: Pushed

9f8566ee5135: Pushed

latest: digest: sha256:34a11c6d3cdbfc018525356019d27df8da63459c3d4d50afcd71a7c82afe8cc5 size: 1364

安装tree  命令查看 

[root@xuegod6 ~]# mount /dev/sr0 /mnt/

mount: /dev/sr0 写保护,将以只读方式挂载

[root@xuegod6 ~]# rpm -ivh  /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm



测试    把docker rpm   上传到linux

   scp    -r     docker-rpm       192.168.24.:/root/

[root@xuegod6 ~]# scp /etc/yum.repos.d/docker-rpm.repo 192.168.24.65:/etc/yum.repos.d/

[root@xuegod5 docker-rpm]# mount /dev/sr0 /mnt/

mount: /dev/sr0 写保护,将以只读方式挂载

[root@xuegod5 docker-rpm]#  rpm  -ivh  *.rpm

安装docker   

yum  install  docker     -y  

2  修改配置文件,指定docker  源为指定url  仓库:私有仓库的地址

[root@xuegod6 ~]# vim /etc/sysconfig/docker

增加一行--insecure-registry 192.168.43.99:5000'

3  启动docker    systemctl   restart     docker    

 root@xuegod5 ~]# systemctl restart docker

4  开始下载镜像 

[root@xuegod5 ~]# cd docker-rpm/

[root@xuegod5 docker-rpm]# docker  pull  192.168.43.99:5000/busybox

Using default tag: latest

Trying to pull repository 192.168.43.99:5000/busybox ...

latest: Pulling from 192.168.43.99:5000/busybox

53478ce18e19: Pull complete

907370c150a1: Pull complete

ecd89ee27260: Pull complete

e4d3e6950197: Pull complete

a0c226b30c4f: Pull complete

[root@xuegod5 docker-rpm]# docker run 192.168.43.99:5000/busybox echo "echo hellowold"

echo hellowold

修改实例名称复制一个镜像

删除镜像

[root@xuegod5 docker-rpm]# docker rmi 192.168.43.99:5000/busybox

Untagged: 192.168.43.99:5000/busybox:latest

Untagged: 192.168.43.99:5000/busybox@sha256:34a11c6d3cdbfc018525356019d27df8da63459c3d4d50afcd71a7c82afe8cc5

[root@xuegod5 docker-rpm]# docker  images

REPOSITORY          TAG                IMAGE ID            CREATED            SIZE

busybox            v1                  047218491f8c

实战3:使用阿里云的docker  私有仓库 



创建成功 



1 )

[root@xuegod5 docker-rpm]# sudo docker login --username=白马湖糟老头子 registry.cn-hangzhou.aliyuncs.com

Password:

Login Succeeded

2 )

   必须打上标签 

[root@xuegod5 docker-rpm]# docker tag busybox:v1 registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker:v1

拉取 sudo docker push registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker:[镜像版本号]

3  )  开始推了

[root@xuegod5 docker-rpm]# docker push registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker:v1 


多出了阿里云镜像

[root@xuegod5 docker-rpm]# docker images

REPOSITORY                                                  TAG                IMAGE ID            CREATED            SIZE

busybox                                                      v1                  047218491f8c        3 years ago        33.2 MB

registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker  v1

删除镜像

[root@xuegod5 docker-rpm]# docker rmi registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker:v1

拉取成功

[root@xuegod5 docker-rpm]# docker pull registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker:v1

Trying to pull repository registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker ...

v1: Pulling from registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker

Digest: sha256:34a11c6d3cdbfc018525356019d27df8da63459c3d4d50afcd71a7c82afe8cc5

Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/zhumiaoshun/xuegoddocker:v1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。