docker3


干干凈凈的卸載docker

?yum?remove?docker?docker-common?docker-selinux?docker-engine?-y

docker鏡像的分層

鏡像分層的好處:復(fù)用,節(jié)省磁盤空sff間,相同的內(nèi)容只需加載一份到內(nèi)存。 修改dockerfile之后,再次構(gòu)建速度快dsfds

dockerfile 優(yōu)化:

1:盡可能選擇體積小linux發(fā)行版,alpine

2:盡可能合并RUN指令,清理無用的文件(yum緩存,源碼包)

3:修改dockerfile,把變化的內(nèi)容盡可能放在dockerfile結(jié)尾

4: 使用.dockerignore,減少不必要的文件ADD . /html

容器間的互聯(lián)(--link是單方向的鴨)

例如:docker run -d -p 80:80 nginx??docker run -it --link quirky_brown:web01 qstack/centos-ssh /bin/bash??

--link?quirky_brown:web01? 等于這臺主機自動做了quirky_brown:web01的hosts解析,可以不知道對方主機的IP,只是單向的解析。

docker registry 建立私有倉庫(指定5000端口,開機啟動)誰都可以上傳,不好

docker?run?-d?-p?5000:5000?--restart=always?--name?registry?-v?/opt/myregistry:/var/lib/registry??registry

上傳鏡像到私有倉庫:?

a:給鏡像打標(biāo)簽?

docker tag centos:6.9 10.0.0.11:5000/centos:6.9

b:上傳鏡像

docker push 10.0.0.11:5000/centos:6.9

出現(xiàn)報錯:Get https://10.0.0.11:5000/v2/: http: server gave HTTP response to HTTPS client

解決方法:

[root@docker02?docker]#?cat?/etc/docker/daemon.json

{

"insecure-registries":?["10.0.0.11:5000"],

"registry-mirrors":?["https://registry.docker-cn.com"]

}

systemctl restart docker

c:拉取鏡像

docker pull 10.0.0.11:5000/centos:6.9

docker-compose(單機版的容器編排工具)

yum install -y docker-compose

創(chuàng)建文件夾,在里面搭建ansible劇本yml,yml名字必須為docker-compose.yml

搭建wordpress

cd my_wordpress

?vi docker-compose.yml

version: '3'

services:

? db:

? ? image: mysql:5.7

? ? volumes:

? ? ? - /data/db_data:/var/lib/mysql

? ? restart: always

? ? environment:

? ? ? MYSQL_ROOT_PASSWORD: somewordpress

? ? ? MYSQL_DATABASE: wordpress

? ? ? MYSQL_USER: wordpress

? ? ? MYSQL_PASSWORD: wordpress

? wordpress:

? ? depends_on:

? ? ? - db

? ? image: wordpress:latest

? ? volumes:

? ? ? - /data/web_data:/var/www/html

? ? ports:

? ? ? - "80:80"

? ? restart: always

? ? environment:

? ? ? WORDPRESS_DB_HOST: db

? ? ? WORDPRESS_DB_USER: wordpress

? ? ? WORDPRESS_DB_PASSWORD: wordpress

后臺啟動

docker-compose up -d

設(shè)置開機自啟

docker run --restart=always

上傳鏡像到官方倉庫

需要docker login登錄自己的賬號

docker search alpine 查看alpine的鏡像

docker tag alpine:3.9 賬戶名/要上傳的鏡像

docker push 賬戶名/要上傳的鏡像

docker企業(yè)級鏡像倉庫harbor(CHINA)

a:安裝docker和docker-compose,安裝docker要用老師給的那個rpm安裝

b:下載harbor-offline-installer-v1.5.1.tgz

c:上傳到/opt,并解壓

d:修改harbor.cfg配置文件hostname = 10.0.0.11 harbor_admin_password = 123456

e:執(zhí)行install.sh

harbor配置https證書

hostname = 設(shè)置為https的域名

將http的注釋掉

ui_url_protocol=https

ssl_cert=證書

ssl_cert_key=密鑰

將docker-registry遷移到harbo倉庫

a:先創(chuàng)建一個test項目

b:系統(tǒng)管理->倉庫管理,新建目標(biāo),提供者選擇docker-registry,目標(biāo)名test,目標(biāo)URL為我們要同步的倉庫地址:http://10.0.0.11:5000,沒有賬號密碼證書,確定創(chuàng)建

c:系統(tǒng)管理->同步管理,新建規(guī)則,名稱為test,同步模式我們選擇拉去倉庫,源Registry選擇我們剛才創(chuàng)建的倉庫管理的目標(biāo),目標(biāo)Namespace選擇我們a創(chuàng)建的test項目,選擇項目同步,就會將項目同步過來

d:刪除不想要的鏡像,還需要任務(wù)里的垃圾清理

e:還可以看日志,看操作的過程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容