docker(二)

私有倉(cāng)庫(kù)

1.下載軟件包
cd /opt
wget https://github.com/goharbor/harbor/releases/download/v1.9.3/harbor-offline-installer-v1.9.3.tgz
tar xf harbor-offline-installer-v1.9.0-rc1.tgz

2.修改配置
vim harbor.yml 
hostname: 10.0.0.51
harbor_admin_password: 123456

3.下載docker-compose
yum install docker-compose -y 

4.安裝harbor
./install.sh

5.修改鏡像名稱(chēng)
docker tag ae21150e3af8 10.0.0.51/linux/my_kod:v2
docker images

6.修改docker配置添加信任倉(cāng)庫(kù)
cat >/etc/docker/daemon.json<<EOF 
{
  "registry-mirrors": ["https://ig2l319y.mirror.aliyuncs.com"],
  "insecure-registries": ["http://10.0.0.51"] 
}
EOF

7.docker登錄到harbor
docker login 10.0.0.51

8.上傳鏡像到私有倉(cāng)庫(kù)
docker push 10.0.0.51/linux/my_kod:v2

9.客戶端使用倉(cāng)庫(kù)下載鏡像
docker run -p 80:80 -d 10.0.0.51/linux/my_kod:v2

docker 運(yùn)行zabbix璧针、gitlab

可以去官網(wǎng)泼橘,官網(wǎng)都有詳細(xì)信息

docker運(yùn)行zabbix

docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin

docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest


docker運(yùn)行g(shù)itlab
docker run --detach \
--hostname 10.0.0.51 \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
docker-compose 

gitlab
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/docker/README.md#install-gitlab-using-docker-compose


zabbix
https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers

監(jiān)控容器

1.docker自帶的監(jiān)控命令
docker container ps    :查看正在運(yùn)行的容器
docker container top   :知道某個(gè)容器運(yùn)行了哪些進(jìn)程
docker container stats :顯示每個(gè)容器各種資源使用情況 

2.cAdvisor+ prometheus+ grafana組件介紹
組件介紹:
#cAdvisor
cAdvisor是google開(kāi)發(fā)的容器監(jiān)控工具民晒,cAdvisor會(huì)顯示當(dāng)前host的資源使用情況尾序,包括CPU悯许,內(nèi)存亥啦,網(wǎng)絡(luò)炭剪,文件系統(tǒng)。
不過(guò)cAdvisor提供的操作界面略顯簡(jiǎn)陋翔脱,而且需要在不同頁(yè)面之間跳轉(zhuǎn)奴拦,并且只能監(jiān)控一個(gè)host,這不免讓人質(zhì)疑他的實(shí)用性届吁,但cAdvisor有一個(gè)亮點(diǎn)是可以將監(jiān)控到的數(shù)據(jù)導(dǎo)出給第三方工具错妖,有這些工具進(jìn)一步加工處理。
所以我們可以把cAdvisor定位為一個(gè)監(jiān)控?cái)?shù)據(jù)收集器疚沐,收集和導(dǎo)出數(shù)據(jù)是他的強(qiáng)項(xiàng)暂氯,而非展示數(shù)據(jù)。
cAdvisor支持很多第三方工具亮蛔,其中就包含prometheus

#prometheus
Prometheus是一個(gè)非常優(yōu)秀的監(jiān)控工具痴施。提供了監(jiān)控?cái)?shù)據(jù)搜集,存儲(chǔ),處理辣吃,可視化和告警一系列完整的解決方案动遭。包含組件
Node Exporter :負(fù)責(zé)收集host硬件和操作系統(tǒng)數(shù)據(jù),以容器的形式運(yùn)行在所有host上
cAdvisor      :負(fù)責(zé)收集容器數(shù)據(jù)神得,以容器的形式運(yùn)行在所有host上

#grafana
grafana是一款支持多種數(shù)據(jù)源的圖形展示工具

3.部署
#地址規(guī)劃:
10.0.0.51   cAdvisor+ Node Exporter +prometheus+ grafana
10.0.0.52   cAdvisor+ Node Exporter

#docker01的配置文件:
cat >docker-compose.yml<<EOF
version: '3.2'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    ports:
    - 9090:9090
    command:
    - --config.file=/etc/prometheus/prometheus.yml
    volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
    depends_on:
    - cadvisor

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node_exporter
    ports:
    - 9100:9100

  cadvisor:
    image: google/cadvisor:latest
    container_name: cadvisor
    ports:
    - 8080:8080
    volumes:
    - /:/rootfs:ro
    - /var/run:/var/run:rw
    - /sys:/sys:ro
    - /var/lib/docker/:/var/lib/docker:ro

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
    - 3000:3000
EOF

#prometheus配置文件
cat >prometheus.yml <<EOF
scrape_configs:
- job_name: cadvisor
  scrape_interval: 5s
  static_configs:
  - targets:
    - 10.0.0.111:8080
    - 10.0.0.112:8080

- job_name: prometheus
  scrape_interval: 5s
  static_configs:
  - targets: 
    - 10.0.0.111:9090

- job_name: node_exporter
  scrape_interval: 5s
  static_configs:
  - targets: 
    - 10.0.0.111:9100
    - 10.0.0.112:9100
EOF
    
#docker02配置文件:
cat >docker-compose.yml<<EOF
version: '3.2'
services:
  node-exporter:
    image: prom/node-exporter:latest
    container_name: node_exporter
    ports:
    - 9100:9100

  cadvisor:
    image: google/cadvisor:latest
    container_name: cadvisor
    ports:
    - 8080:8080
    volumes:
    - /:/rootfs:ro
    - /var/run:/var/run:rw
    - /sys:/sys:ro
    - /var/lib/docker/:/var/lib/docker:ro
EOF

4.運(yùn)行
ntpdate time1.aliyun.com
docker-compose up -d

5.檢查
http://10.0.0.111:8080/metrics
http://10.0.0.111:9100/metrics
http://10.0.0.111:9090
http://10.0.0.111:3000

docker 跨主機(jī)通信

Docker跨主機(jī)容器之間的通信macvlan

默認(rèn)一個(gè)物理網(wǎng)卡厘惦,只有一個(gè)物理mac地址,虛擬多個(gè)mac地址

##創(chuàng)建macvlan網(wǎng)絡(luò) docker network create --driver macvlan --subnet 10.0.0.0/24 --gateway 10.0.0.254 -o parent=eth0 macvlan_1 
##設(shè)置eth0的網(wǎng)卡為混雜模式 ip link set eth1 promisc on 
##創(chuàng)建使用macvlan網(wǎng)絡(luò)的容器 docker run -it --network macvlan_1 --ip=10.0.0.200 busybox

這種方式容器連不上外網(wǎng)
Dcoker跨主機(jī)容器通信之overlay
http://www.cnblogs.com/CloudMan6/p/7270551.html

docker03上:
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
設(shè)置容器的主機(jī)名

consul:kv類(lèi)型的存儲(chǔ)數(shù)據(jù)庫(kù)(key:value) docker01哩簿、02上: vim /etc/docker/daemon.json { "hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"], "cluster-store": "consul://10.0.0.13:8500", "cluster-advertise": "10.0.0.11:2376" }

vim /etc/docker/daemon.json vim /usr/lib/systemd/system/docker.service systemctl daemon-reload systemctl restart docker

2)創(chuàng)建overlay網(wǎng)絡(luò) docker network create -d overlay --subnet 172.16.1.0/24 --gateway 172.16.1.254 ol1

3)啟動(dòng)容器測(cè)試 docker run -it --network ol1 --name oldboy01 busybox /bin/bash 每個(gè)容器有兩塊網(wǎng)卡,eth0實(shí)現(xiàn)容器間的通訊,eth1實(shí)現(xiàn)容器訪問(wèn)外網(wǎng)
1.安裝部署
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
2.修改docker啟動(dòng)文件
[root@docker01 ~]# vim /lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store
consul://10.0.0.11:8500 --cluster-advertise 10.0.0.11:2375
3.重啟docker
systemctl daemon-reload
systemctl restart docker.service
另一臺(tái)機(jī)器一樣操作
4.測(cè)試
在 docker1 上創(chuàng)建網(wǎng)絡(luò)宵蕉,然后會(huì)自動(dòng)同步到 docker2 上
docker network create -d overlay overlay_net
分別在兩個(gè)節(jié)點(diǎn)上創(chuàng)建容器
docker1
docker run -it --net=overlay_net --name busybox01 busybox:latest
docker2
docker run -it --net=overlay_net --name busybox02 busybox:latest

docker數(shù)據(jù)卷管理

/usr/share/nginx/html

-v /opt/xiaoniao:/usr/share/nginx/html

持久化 數(shù)據(jù)卷(文件或目錄) ?    -v 卷名:/data ?   -v src(宿主機(jī)的目錄):dst(容器的目錄) 數(shù)據(jù)卷容器 ?   --volumes-from(跟某一個(gè)已經(jīng)存在的容器掛載相同的卷) ? 基于nginx啟動(dòng)一個(gè)容器,監(jiān)聽(tīng)80和81节榜,訪問(wèn)80国裳,出現(xiàn)nginx默認(rèn)歡迎首頁(yè),訪問(wèn)81全跨,出現(xiàn)小鳥(niǎo)缝左。 -p 80:80 -p 81:81 -v xxx:xxx -v xxx:xxxx 基于nginx多端口的多站點(diǎn)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浓若,一起剝皮案震驚了整個(gè)濱河市渺杉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挪钓,老刑警劉巖是越,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異碌上,居然都是意外死亡倚评,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)馏予,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)天梧,“玉大人,你說(shuō)我怎么就攤上這事霞丧∧馗冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵蛹尝,是天一觀的道長(zhǎng)后豫。 經(jīng)常有香客問(wèn)我,道長(zhǎng)突那,這世上最難降的妖魔是什么挫酿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮愕难,結(jié)果婚禮上早龟,老公的妹妹穿的比我還像新娘惫霸。我一直安慰自己,他們只是感情好拄衰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著饵骨,像睡著了一般翘悉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上居触,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天妖混,我揣著相機(jī)與錄音,去河邊找鬼轮洋。 笑死制市,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弊予。 我是一名探鬼主播祥楣,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼汉柒!你這毒婦竟也來(lái)了误褪?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碾褂,失蹤者是張志新(化名)和其女友劉穎兽间,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體正塌,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘀略,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乓诽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帜羊。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸠天,靈堂內(nèi)的尸體忽然破棺而出逮壁,到底是詐尸還是另有隱情,我是刑警寧澤粮宛,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布窥淆,位于F島的核電站,受9級(jí)特大地震影響巍杈,放射性物質(zhì)發(fā)生泄漏忧饭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一筷畦、第九天 我趴在偏房一處隱蔽的房頂上張望词裤。 院中可真熱鬧刺洒,春花似錦、人聲如沸吼砂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)渔肩。三九已至因俐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間周偎,已是汗流浹背抹剩。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蓉坎,地道東北人澳眷。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蛉艾,于是被迫代替她去往敵國(guó)和親钳踊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容