docker-compose.yaml示例
阿新 • • 發佈:2019-01-14
docker提供了一個工具docker-compose命令列,用於批量部署容器,docker-compose需要一個yaml檔案(實質為文字檔案),預設名字為docker-compose.yaml(docker-compose.yml)。如果熟悉k8s的同學可能對yaml並不是陌生,這裡只是做一個筆記方便日後查詢。
version: '2' services: #服務定義 開始標籤 controller-node-192-168-2-2_1516689684: #服務名 只是一個名字而已沒有實際意義 hostname: controller-node-192-168-2-2_1516689684 #對應linux系統 hostname 如果支援dns可通過hostname訪問主機/容器 container_name: controller-node-192-168-2-2_1516689684 #容器名稱 restart: always #啟動方式 代表只要容器退出就立刻啟動 networks:#網路配置 default: ipv4_address: 192.168.2.2 #容器預設ip地址 image: sdotn-karaf-distribution:2.1.0-SNAPSHOT #使用映象 如果本地不存在 將自動從遠端拉取 environment: # 環境變數 可通過linux系統中env - HOST_IP=10.85.160.123 - SERVER_IP=192.168.2.2 - JAVA_MIN_MEM=1G - JAVA_MAX_MEM=8G expose: #容器暴露的服務埠 - "8443" - "8101" ports: # 埠對映 host主機埠:容器內埠 - "15000:8443" - "8101:8101" volumes: #掛載卷 - "/var/run/data:/var/run/data" volumes: #掛載卷 - "/var/run/tmp:/var/run/tmp" networks: #網路定義 表示當前容器即將使用的網路為oscp-network my-docker-network: driver: bridge ipam: config: - subnet: 192.168.1.0/24 gateway: 192.168.1.1 #如果當前環境中已經存在已經定義好的network,可直接使用 #networks: # default: # external: # name: my-docker-network
我認為yaml檔案比較難配置的就是networks這部分,這裡把常用的兩種方式都已經介紹了。