做者介紹:謝智星,貝聊自動化測試工程師,本文同時發佈於TesterHome論壇php
發帖緣由:期待你們一塊兒來玩docker,快速搭建環境,發掘docker的無限可能~mysql
大神語錄:Docker 只是一種很是實用的工具,不要以 Docker 爲目的去學習 Docker,重要的不是 Docker 而是您用 Docker 作什麼。sql
願景:技術交流,無分對錯~歡迎你們指正docker
如下是我三天兩夜裏面不斷重複使用的命令,供你們參考:數據庫
•1. docker pull {image_name}
(拉取鏡像)json
•2. docker push {image_name}
(推送鏡像)api
•3. docker images
(查看當前機器的全部鏡像)bash
•4. docker rmi {image_name}
(刪除當前機器的一個鏡像)服務器
•5. docker tag {source_images_name:tag your_image_name:tag}
(爲一個鏡像打tag)網絡
•1. docker run --name={your_name} --d {image_name}
(運行容器)
•2. docker ps -s -a
{查看當前全部容器}
•3. docker stop {container_name}
(中止容器)
•4. docker kill (container_name)
{殺死容器}
•5. docker rm -f {container_name}
(刪除容器)
•1. docker logs -f
{容器名稱} (查看容器日誌)
•2. docker info
(查看docker服務的信息)
•3. docker inspect
{容器名稱} (查看容器的元數據)
•1. --name
指定容器名稱
•2. -d
後臺運行
•3. -port
指定端口映射規則
•4. --network
指定容器運行的網路模式
•5. -v
指定須要掛載的數據卷
•6. -env
指定須要傳遞給容器的環境變量
•Container
•briage
•Host
•none
過程像海淘,裏面所有介紹都是英文 我選的是下面這兩個
鏡像名 = 商品名
星數 = 相似好評數
pull = 拉取數 相似於購買數目
點開detail 會有這個鏡像的介紹
1.搭建前你須要清楚的地方:
[1]啓動容器數量
[2]容器間的依賴關係
[3]搭建系統組件容器間的通信方式
2.舉個栗子: 以個人實踐(Zabbix + Grafana)爲例
grafana
、第二個是
zabbix-xxl
、第三個是
zabbix-db-mariadb
的數據庫
grafana
依賴 zabbix-xxl
提供數據源,兩個容器之間須要互相通訊
zabbix-xxl
依賴 zabbix-db-mariadb
提供數據庫支持
grafana
依賴 zabbix-xxl
提供數據源 --->所以我在啓動grafana
容器的時候使用container
模式,容器指向zabbix
docker run -d --name grafana -itd --net=container:zabbix grafana/grafana
複製代碼
zabbix-xxl
依賴 zabbix-db-mariadb
提供數據庫支持--->所以zabbix-db-mariadb
容器須要在zabbix
啓動前啓動, 而後經過--link zabbix-db:zabbix.db
參數鏈接
啓動命令具體參考Dockerhub
在啓動zabbix-xxl
鏡像容器時須要注意暴露端口的問題,緣由是組件grafana
容器會以container
模式鏈接到zabbix-xxl
所在容器。
因此在啓動zabbix-xxl
鏡像容器時須要預先暴露grafana
的端口3000
,不然將沒法對zabbix-xxl
容器內的grafana
進行訪問。
-p 80:80 \ zabbix 的端口映射
-p 10051:10051 \ zabbix agent的端口映射
-p 3000:3000 預留給grafana的端口映射
複製代碼
多數摘取自hub.docker.com/r/monitorin…,我仍是建議你們看docker hub 文檔啓動容器服務。 下面是我啓動用到的命令,僅供參考:
create /var/lib/mysql as persistent volume storage
docker run -d -v /var/lib/mysql --name zabbix-db-storage busybox:latest
複製代碼
start DB for Zabbix - default 1GB innodb_buffer_pool_size is used
docker run \
-d \
--name zabbix-db \
-v /backups:/backups \
-v /etc/localtime:/etc/localtime:ro \
--volumes-from zabbix-db-storage \
--env="MARIADB_USER=zabbix" \
--env="MARIADB_PASS=my_password" \
monitoringartist/zabbix-db-mariadb
複製代碼
start Zabbix linked to started DB
docker run \
-d \
--name zabbix \
-p 80:80 \
-p 10051:10051 \
-p 3000:3000\
-v /etc/localtime:/etc/localtime:ro \
--link zabbix-db:zabbix.db \
--env="ZS_DBHost=zabbix.db" \
--env="ZS_DBUser=zabbix" \
--env="ZS_DBPassword=my_password" \
monitoringartist/zabbix-xxl:latest
複製代碼
container
模式啓動grafana
容指向器---> zabbix
docker run -d --name grafana -itd --net=container:zabbix grafana/grafana
複製代碼
在Grafana 使用時可能會遇到的問題:
1.如何安裝zabbix
插件
2.如何配置zabbix
數據源
3.如何在zabbix
容器內查找鏈接使用api接口(api_jsonrpc.php)
這幾個問題就留給小夥伴們本身探討啦,百度一下基本都可以找到答案的~~