10.1?? 創(chuàng)建docker? 靜態(tài)化IP??
10.2?? 創(chuàng)建docker? 私有化倉庫?
10.3?? 使用阿里云私有倉庫存儲自己的docker鏡像
10.1?? 創(chuàng)建docker靜態(tài)化IP??
1.Docker? 有以下四種網(wǎng)絡(luò)模式
host模式? 使用--net? =host? 指定
container? 模式?? 缴罗,使用 --net=container:NAME_or_ID?? 指定
?none?? 模式,使用? --net=none? 指定
? bridge?? 模式,使用? --net=bridge?? 指定,默認(rèn)設(shè)置
默認(rèn)選擇bridge 的情況下剿另,啟動啟動后通過DHCP? 獲取一個地址捷沸,不是我們想要的,在centos7系統(tǒng)上系任,docker? 環(huán)境下新症,可以使用pipework?? 腳本對容器分配固定ip步氏,??? 這個IP和物理機(jī)同同網(wǎng)段IP
10.1.2?? 配置橋接網(wǎng)絡(luò)?
橋接本地物理網(wǎng)絡(luò)的目錄,是為了局域網(wǎng)內(nèi)用戶方便訪問docker? 實(shí)例服務(wù)徒爹,不需要各種端口映射荚醒,即可訪問,但是這樣做又違背了docker? 容器的安全隔離的原則隆嗅,工作中辯證的選擇
橋接? 設(shè)備?
安裝包
1 )[root@xuegod6 ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 寫保護(hù)界阁,將以只讀方式掛載
[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/
重啟網(wǎng)卡 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??? 使用靜態(tài)IP啟動一個docker??? 實(shí)例
例1: 以none模式? 使用--net=none??? 啟動容器,并且開機(jī)docker? 特權(quán)模式
[root@xuegod6 ~]# docker run -itd --net=none --privileged=true docker.io/centos bash
53d535e41349f0059fac1a8d7c479b512aab951d566e9473c704f4f5999af540
在后臺運(yùn)行
?
在沒有開啟的鏡像執(zhí)行
[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? 發(fā)現(xiàn)能使用了?
/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
進(jìn)入docker??
[root@xuegod6 ~]# docker exec -it 30c612c97ab5 bash
[root@30c612c97ab5 /]# ls
安裝工具包?? yum install -y net-tools
實(shí)戰(zhàn)1?? 使用靜態(tài)IP啟動一個web?? 服務(wù)器?
yum? install?? httpd?? -y????
httpd????????? 直接運(yùn)行httpd?? 命令???
cd??? /var/www/html/
echo? aaaaaaaaaa>? index.html??
10.2?? docker??? 私有倉庫? Docker? Hub?? 這樣的公共倉庫可能不方便胖喳,?? 有時候無法訪問泡躯,? 用戶可以創(chuàng)建規(guī)本地倉庫給私人使用,這里使用的官方提供的工具docker-resistry??? 來配置私有庫
1 ? 使用官方提供的工具來配置
? docker -registry ?? 是官方提供的工具丽焊,可以用于構(gòu)建私有的鏡像倉庫
私有倉庫的好處
1? 節(jié)約帶寬?
2? 可以字節(jié)定制系統(tǒng)
docker-registry?? 這個工具鏡像较剃,直接下載并安裝registry???? 鏡像啟動docker實(shí)例就可以了
有了 docker 以后,所有軟件不再以office.exe?? 或lrzsz.rpm?? 形式發(fā)布技健,以docker? 鏡像發(fā)布写穴,當(dāng)安裝軟件并運(yùn)行,就是指雌贱,下載docker? 鏡像并運(yùn)行一個docker? 實(shí)例
10啊送。2.1???? 配置xuegod6?? 為docker? 私有倉庫?
?? [root@xuegod6 ~]# systemctl stop firewalld
[root@xuegod6 ~]# systemctl? ? disable? firewalld
iptables?? -L? -n????
1? 不能關(guān)閉防火墻 ,因?yàn)閐ocker? 后期端口轉(zhuǎn)發(fā)欣孤,需要使用firewalld????
啟動docker???
systemctl??? start??? docker??
? 拉取鏡像?? registry????? 鏡像中包包括搭建本地私有倉庫的軟件
下載registry?? 上傳到linux????
[root@xuegod6 ~]# docker load -i registry.tar
3? 查看registry? 鏡像
?
4.從Docker? HUB? 上拉取一個鏡像測試
? 方法一馋没,本地導(dǎo)入
? 上傳busybox.tar??? 鏡像到linux服務(wù)器,作為測試鏡像
[root@xuegod6 ~]# docker load -i busybox.tar
5? 創(chuàng)建鏡像連接或?yàn)榛A(chǔ)鏡像打連接?
刪除?? docker??? rmi???????? 名字或者ID
語法:?????????????? docker??? tag?????????????????? 鏡像名:? 標(biāo)簽??????????????? 私有倉庫地址/? 鏡像名?? :? 標(biāo)簽??
??[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? 鏡像中已經(jīng)把搭建私有倉庫安裝好了看,我只需要使用registry 鏡像運(yùn)行一個docker鏡像運(yùn)行一個docker實(shí)例就可以了
[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??? 將剛大奧標(biāo)簽的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 寫保護(hù)款票,將以只讀方式掛載
[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 寫保護(hù),將以只讀方式掛載
[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
修改實(shí)例名稱復(fù)制一個鏡像
刪除鏡像
[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
實(shí)戰(zhàn)3:使用阿里云的docker? 私有倉庫?
創(chuàng)建成功?
1 )
[root@xuegod5 docker-rpm]# sudo docker login --username=白馬湖糟老頭子 registry.cn-hangzhou.aliyuncs.com
Password:
Login Succeeded
2 )
?? 必須打上標(biāo)簽?
[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