Docker-Compose常用命令
一、Docker-Compose簡介
??Docker-Compose項目是Docker官方的開源項目,負責實現對Docker容器集群的快速編排。
??Docker-Compose將所管理的容器分為三層,分別是工程(project),服務(service)以及容器(container)。
??Docker-Compose運行目錄下的所有文件(docker-compose.yml,extends文件或環境變量文件等)組成一個工程,若無特殊指定工程名即為當前目錄名。一個工程當中可包含多個服務,每個服務中定義了容器運行的鏡像,參數,依賴。一個服務當中可包括多個容器實例,Docker-Compose并沒有解決負載均衡的問題,因此需要借助其它工具實現服務發現及負載均衡。
??Docker-Compose的工程配置文件默認為docker-compose.yml,可通過環境變量COMPOSE_FILE或-f參數自定義配置文件,其定義了多個有依賴關系的服務及每個服務運行的容器。
??使用一個Dockerfile模板文件,可以讓用戶很方便的定義一個單獨的應用容器。在工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個Web項目,除了Web服務容器本身,往往還需要再加上后端的數據庫服務容器,甚至還包括負載均衡容器等。
??Compose允許用戶通過一個單獨的docker-compose.yml模板文件(YAML 格式)來定義一組相關聯的應用容器為一個項目(project)。
??Docker-Compose項目由Python編寫,調用Docker服務提供的API來對容器進行管理。因此,只要所操作的平臺支持Docker API,就可以在其上利用Compose來進行編排管理。
文檔地址:https://docs.docker.com/compose/reference/build/
二、Docker-Compose安裝
# 下載Docker-Compose [root@topcheer ~]# curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # Docker-Compose [root@topcheer bin]# sudo chmod +x /usr/local/bin/docker-compose [root@topcheer bin]# docker-compose version docker-compose version 1.24.1, build 4667896b docker-py version: 3.7.3 CPython version: 3.6.8 OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018
三、Docker-Compose命令
1、Docker-Compose命令格式
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
命令選項如下:
-f,–file FILE指定Compose模板文件,默認為docker-compose.yml,可以多次指定。
-p,–project-name NAME指定項目名稱,默認將使用所在目錄名稱作為項目名。
-x-network-driver 使用Docker的可拔插網絡后端特性(需要Docker 1.9+版本)
-x-network-driver DRIVER指定網絡后端的驅動,默認為bridge(需要Docker 1.9+版本)
-verbose輸出更多調試信息
-v,–version打印版本并退出
2、docker-compose up
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
選項包括:
-d 在后臺運行服務容器
–no-color 不使用顏色來區分不同的服務的控制輸出
–no-deps 不啟動服務所鏈接的容器
–force-recreate 強制重新創建容器,不能與–no-recreate同時使用
–no-recreate 如果容器已經存在,則不重新創建,不能與–force-recreate同時使用
–no-build 不自動構建缺失的服務鏡像
–build 在啟動容器前構建服務鏡像
–abort-on-container-exit 停止所有容器,如果任何一個容器被停止,不能與-d同時使用
-t, –timeout TIMEOUT 停止容器時候的超時(默認為10秒)
–remove-orphans 刪除服務中沒有在compose文件中定義的容器
–scale SERVICE=NUM 設置服務運行容器的個數,將覆蓋在compose中通過scale指定的參數docker-compose up
啟動所有服務docker-compose up -d
在后臺所有啟動服務
-f 指定使用的Compose模板文件,默認為docker-compose.yml,可以多次指定。docker-compose -f docker-compose.yml up -d
[root@topcheer docker]# docker-compose up -d Creating network "docker_default" with the default driver Pulling web1 (nginx:)... Trying to pull repository docker.io/library/nginx ... latest: Pulling from docker.io/library/nginx 000eee12ec04: Pull complete eb22865337de: Pull complete bee5d581ef8b: Pull complete Digest: sha256:50cf965a6e08ec5784009d0fccb380fc479826b6e0e65684d9879170a9df8566 Status: Downloaded newer image for docker.io/nginx:latest Creating web1 ... done Creating web2 ... done
3、docker-compose ps
docker-compose ps [options] [SERVICE...]docker-compose ps
列出項目中目前的所有容器
[root@topcheer docker]# docker-compose ps Name Command State Ports ---------------------------------------------------------- web1 nginx -g daemon off; Up 0.0.0.0:6061->80/tcp web2 nginx -g daemon off; Up 0.0.0.0:6062->80/tcp [root@topcheer docker]#
4、docker-compose stop
docker-compose stop [options] [SERVICE...]
選項包括:
-t, –timeout TIMEOUT 停止容器時候的超時(默認為10秒)docker-compose stop
停止正在運行的容器,可以通過docker-compose start 再次啟動
[root@topcheer docker]# docker-compose stop Stopping web2 ... done Stopping web1 ... done [root@topcheer docker]# docker-compose start Starting web1 ... done Starting web2 ... done
5、docker-compose -h
docker-compose -h
查看幫助
[root@topcheer docker]# docker-compose -h
Define and run multi-container applications with Docker.
Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE Specify an alternate compose file
(default: docker-compose.yml)
-p, --project-name NAME Specify an alternate project name
(default: directory name)
--verbose Show more output
--log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi Do not print ANSI control characters
-v, --version Print version and exit
-H, --host HOST Daemon socket to connect to
--tls Use TLS; implied by --tlsverify
--tlscacert CA_PATH Trust certs signed only by this CA
--tlscert CLIENT_CERT_PATH Path to TLS certificate file
--tlskey TLS_KEY_PATH Path to TLS key file
--tlsverify Use TLS and verify the remote
--skip-hostname-check Don't check the daemon's hostname against the
name specified in the client certificate
--project-directory PATH Specify an alternate working directory
(default: the path of the Compose file)
--compatibility If set, Compose will attempt to convert keys
in v3 files to their non-Swarm equivalent
Commands:
build Build or rebuild services
bundle Generate a Docker bundle from the Compose file
config Validate and view the Compose file
create Create services
down Stop and remove containers, networks, images, and volumes
events Receive real time events from containers
exec Execute a command in a running container
help Get help on a command
images List images
kill Kill containers
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show the Docker-Compose version information
[root@topcheer docker]#
6、docker-compose down
docker-compose down [options]
停止和刪除容器、網絡、卷、鏡像。
選項包括:
–rmi type,刪除鏡像,類型必須是:all,刪除compose文件中定義的所有鏡像;local,刪除鏡像名為空的鏡像
-v, –volumes,刪除已經在compose文件中定義的和匿名的附在容器上的數據卷
–remove-orphans,刪除服務中沒有在compose中定義的容器docker-compose down
停用移除所有容器以及網絡相關
7、docker-compose logs
docker-compose logs [options] [SERVICE...]
查看服務容器的輸出。默認情況下,docker-compose將對不同的服務輸出使用不同的顏色來區分。可以通過–no-color來關閉顏色。docker-compose logs
查看服務容器的輸出
[root@topcheer docker]# docker-compose logs -t -f --tail 20 Attaching to web2, web1 web2 | 2019-11-28T07:53:24.031166000Z 192.168.180.1 - - [28/Nov/2019:07:53:24 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-" web2 | 2019-11-28T07:53:24.054396000Z 2019/11/28 07:53:24 [error] 7#7: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.180.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.180.113:6062", referrer: "http://192.168.180.113:6062/" web2 | 2019-11-28T07:53:24.060006000Z 192.168.180.1 - - [28/Nov/2019:07:53:24 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.180.113:6062/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-" web1 | 2019-11-28T07:53:19.115374000Z 192.168.180.1 - - [28/Nov/2019:07:53:19 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-" web1 | 2019-11-28T07:53:19.326008000Z 192.168.180.1 - - [28/Nov/2019:07:53:19 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.180.113:6061/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-" web1 | 2019-11-28T07:53:19.326377000Z 2019/11/28 07:53:19 [error] 7#7: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.180.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.180.113:6061", referrer: "http://192.168.180.113:6061/"
8、docker-compose build
docker-compose build [options] [--build-arg key=val...] [SERVICE...]
構建(重新構建)項目中的服務容器。
選項包括:
–compress 通過gzip壓縮構建上下環境
–force-rm 刪除構建過程中的臨時容器
–no-cache 構建鏡像過程中不使用緩存
–pull 始終嘗試通過拉取操作來獲取更新版本的鏡像
-m, –memory MEM為構建的容器設置內存大小
–build-arg key=val為服務設置build-time變量
服務容器一旦構建后,將會帶上一個標記名。可以隨時在項目目錄下運行docker-compose build來重新構建服務
9、docker-compose pull
docker-compose pull [options] [SERVICE...]
拉取服務依賴的鏡像。
選項包括:
–ignore-pull-failures,忽略拉取鏡像過程中的錯誤
–parallel,多個鏡像同時拉取
–quiet,拉取鏡像過程中不打印進度信息docker-compose pull
拉取服務依賴的鏡像
10、docker-compose restart
docker-compose restart [options] [SERVICE...]
重啟項目中的服務。
選項包括:
-t, –timeout TIMEOUT,指定重啟前停止容器的超時(默認為10秒)docker-compose restart
重啟項目中的服務
11、docker-compose rm
docker-compose rm [options] [SERVICE...]
刪除所有(停止狀態的)服務容器。
選項包括:
–f, –force,強制直接刪除,包括非停止狀態的容器
-v,刪除容器所掛載的數據卷docker-compose rm
刪除所有(停止狀態的)服務容器。推薦先執行docker-compose stop命令來停止容器。
12、docker-compose start
docker-compose start [SERVICE...]docker-compose start
啟動已經存在的服務容器。
13、docker-compose run
docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
在指定服務上執行一個命令。docker-compose run ubuntu ping www.baidu.com
在指定容器上執行一個ping命令。
14、docker-compose scale
docker-compose scale web=3 db=2
設置指定服務運行的容器個數。通過service=num的參數來設置數量
15、docker-compose pause
docker-compose pause [SERVICE...]
暫停一個服務容器
16、docker-compose kill
docker-compose kill [options] [SERVICE...]
通過發送SIGKILL信號來強制停止服務容器。
支持通過-s參數來指定發送的信號,例如通過如下指令發送SIGINT信號:docker-compose kill -s SIGINT
17、dokcer-compose config
docker-compose config [options]
驗證并查看compose文件配置。
選項包括:
–resolve-image-digests 將鏡像標簽標記為摘要
-q, –quiet 只驗證配置,不輸出。 當配置正確時,不輸出任何內容,當文件配置錯誤,輸出錯誤信息
–services 打印服務名,一行一個
[root@topcheer docker]# docker-compose config -q [root@topcheer docker]#
–volumes 打印數據卷名,一行一個
18、docker-compose create
docker-compose create [options] [SERVICE...]
為服務創建容器。
選項包括:
–force-recreate:重新創建容器,即使配置和鏡像沒有改變,不兼容–no-recreate參數
–no-recreate:如果容器已經存在,不需要重新創建,不兼容–force-recreate參數
–no-build:不創建鏡像,即使缺失
–build:創建容器前,生成鏡像
19、docker-compose exec
docker-compose exec [options] SERVICE COMMAND [ARGS...]
選項包括:
-d 分離模式,后臺運行命令。
–privileged 獲取特權。
–user USER 指定運行的用戶。
-T 禁用分配TTY,默認docker-compose exec分配TTY。
–index=index,當一個服務擁有多個容器時,可通過該參數登陸到該服務下的任何服務,例如:docker-compose exec –index=1 web /bin/bash ,web服務中包含多個容器
20、docker-compose port
docker-compose port [options] SERVICE PRIVATE_PORT
顯示某個容器端口所映射的公共端口。
選項包括:
–protocol=proto,指定端口協議,TCP(默認值)或者UDP
–index=index,如果同意服務存在多個容器,指定命令對象容器的序號(默認為1)
21、docker-compose push
docker-compose push [options] [SERVICE...]
推送服務依的鏡像。
選項包括:
–ignore-push-failures 忽略推送鏡像過程中的錯誤
22、docker-compose stop
docker-compose stop [options] [SERVICE...]
顯示各個容器運行的進程情況。
23、docker-compose unpause
docker-compose unpause [SERVICE...]
恢復處于暫停狀態中的服務。
24、docker-compose version
docker-compose version
打印版本信息
[root@topcheer docker]# docker-compose version docker-compose version 1.24.1, build 4667896b docker-py version: 3.7.3 CPython version: 3.6.8 OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018 [root@topcheer docker]#
四、Docker-Compose模板文件
??Compose允許用戶通過一個docker-compose.yml模板文件(YAML 格式)來定義一組相關聯的應用容器為一個項目(project)。
??Compose模板文件是一個定義服務、網絡和卷的YAML文件。Compose模板文件默認路徑是當前目錄下的docker-compose.yml,可以使用.yml或.yaml作為文件擴展名。
??Docker-Compose標準模板文件應該包含
version、services、networks 三大部分,最關鍵的是services和networks兩個部分。version: '2'
services:
web:
image: dockercloud/hello-world
ports:
- 8080
networks:
- front-tier
- back-tier
redis:
image: redis
links:
- web
networks:
- back-tier
lb:
image: dockercloud/haproxy
ports:
- 80:80
links:
- web
networks:
- front-tier
- back-tier
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
front-tier:
driver: bridge
back-tier:
driver: bridge
Compose目前有三個版本分別為Version 1,Version 2,Version 3,Compose區分Version 1和Version 2(Compose 1.6.0+,Docker Engine 1.10.0+)。Version 2支持更多的指令。Version 1將來會被棄用。
2、image
??image是指定服務的鏡像名稱或鏡像ID。如果鏡像在本地不存在,Compose將會嘗試拉取鏡像。
services:
web:
image: hello-world
3、build
服務除了可以基于指定的鏡像,還可以基于一份Dockerfile,在使用up啟動時執行構建任務,構建標簽是build,可以指定Dockerfile所在文件夾的路徑。Compose將會利用Dockerfile自動構建鏡像,然后使用鏡像啟動服務容器。
build: /path/to/build/dir
也可以是相對路徑,只要上下文確定就可以讀取到Dockerfile。
build: ./dir
設定上下文根目錄,然后以該目錄為準指定Dockerfile。
build: context: ../ dockerfile: path/of/Dockerfile
build都是一個目錄,如果要指定Dockerfile文件需要在build標簽的子級標簽中使用dockerfile標簽指定。
如果同時指定image和build兩個標簽,那么Compose會構建鏡像并且把鏡像命名為image值指定的名字。
4、context
context選項可以是Dockerfile的文件路徑,也可以是到鏈接到git倉庫的url,當提供的值是相對路徑時,被解析為相對于撰寫文件的路徑,此目錄也是發送到Docker守護進程的context
build: context: ./dir
5、dockerfile
使用dockerfile文件來構建,必須指定構建路徑
build: context: . dockerfile: Dockerfile-alternate
dockerfile指令不能跟image同時使用,否則Compose將不確定根據哪個指令來生成最終的服務鏡像。
6、command
使用command可以覆蓋容器啟動后默認執行的命令。
command: bundle exec thin -p 3000
7、container_name
Compose的容器名稱格式是:<項目名稱><服務名稱><序號>
可以自定義項目名稱、服務名稱,但如果想完全控制容器的命名,可以使用標簽指定:
container_name: app
8、depends_on
在使用Compose時,最大的好處就是少打啟動命令,但一般項目容器啟動的順序是有要求的,如果直接從上到下啟動容器,必然會因為容器依賴問題而啟動失敗。例如在沒啟動數據庫容器的時候啟動應用容器,應用容器會因為找不到數據庫而退出。depends_on標簽用于解決容器的依賴、啟動先后的問題。
version: '2'
services:
web:
build: .
depends_on:
- db
- redis
redis:
image: redis
db:
image: postgres
上述YAML文件定義的容器會先啟動redis和db兩個服務,最后才啟動web 服務。
9、pid
pid: "host"
將PID模式設置為主機PID模式,跟主機系統共享進程命名空間。容器使用pid標簽將能夠訪問和操縱其他容器和宿主機的名稱空間。
10、ports
ports用于映射端口的標簽。
使用HOST:CONTAINER格式或者只是指定容器的端口,宿主機會隨機映射端口。
ports: - "3000" - "8000:8000" - "49100:22" - "127.0.0.1:8001:8001"
當使用HOST:CONTAINER格式來映射端口時,如果使用的容器端口小于60可能會得到錯誤得結果,因為YAML將會解析xx:yy這種數字格式為60進制。所以建議采用字符串格式。
11、extra_hosts
添加主機名的標簽,會在/etc/hosts文件中添加一些記錄。
extra_hosts: - "somehost:162.242.195.82" - "otherhost:50.31.209.229"
啟動后查看容器內部hosts:
162.242.195.82 somehost 50.31.209.229 otherhost
12、volumes
掛載一個目錄或者一個已存在的數據卷容器,可以直接使用 [HOST:CONTAINER]格式,或者使用[HOST:CONTAINER:ro]格式,后者對于容器來說,數據卷是只讀的,可以有效保護宿主機的文件系統。
Compose的數據卷指定路徑可以是相對路徑,使用 . 或者 .. 來指定相對目錄。
數據卷的格式可以是下面多種形式:
volumes: // 只是指定一個路徑,Docker 會自動在創建一個數據卷(這個路徑是容器內部的)。 - /var/lib/mysql // 使用絕對路徑掛載數據卷 - /opt/data:/var/lib/mysql // 以 Compose 配置文件為中心的相對路徑作為數據卷掛載到容器。 - ./cache:/tmp/cache // 使用用戶的相對路徑(~/ 表示的目錄是 /home/<用戶目錄>/ 或者 /root/)。 - ~/configs:/etc/configs/:ro // 已經存在的命名的數據卷。 - datavolume:/var/lib/mysql
如果不使用宿主機的路徑,可以指定一個volume_driver。
volume_driver: mydriver
13、volumes_from
從另一個服務或容器掛載其數據卷:
volumes_from:
- service_name
- container_name
14、dns
自定義DNS服務器??梢允且粋€值,也可以是一個列表。
dns:8.8.8.8
dns:
- 8.8.8.8
- 9.9.9.9
15、dns_search
配置DNS搜索域??梢允且粋€值,也可以是一個列表。
dns_search:example.com
dns_search:
- domain1.example.com
- domain2.example.com
16、entrypoint
在Dockerfile中有一個指令叫做ENTRYPOINT指令,用于指定接入點。
在docker-compose.yml中可以定義接入點,覆蓋Dockerfile中的定義:
entrypoint: /code/entrypoint.sh
17、env_file
在docker-compose.yml中可以定義一個專門存放變量的文件。
如果通過docker-compose -f FILE指定配置文件,則env_file中路徑會使用配置文件路徑。
如果有變量名稱與environment指令沖突,則以后者為準。格式如下:
env_file: .env
或者根據docker-compose.yml設置多個:
env_file: - ./common.env - ./apps/web.env - /opt/secrets.env
如果在配置文件中有build操作,變量并不會進入構建過程中。
18、cap_add
增加指定容器的內核能力(capacity)。
讓容器具有所有能力可以指定:
cap_add:
- ALL
19、cap_drop
去掉指定容器的內核能力(capacity)。
去掉NET_ADMIN能力可以指定:
cap_drop:
- NET_ADMIN
創建了一個cgroup組名稱為cgroups_1:
cgroup_parent: cgroups_1
21、devices
指定設備映射關系,例如:
devices:
- "/dev/ttyUSB1:/dev/ttyUSB0"
22、expose
暴露端口,但不映射到宿主機,只允許能被連接的服務訪問。僅可以指定內部端口為參數,如下所示:
expose:
- "3000"
- "8000"
23、extends
基于其它模板文件進行擴展。例如,對于webapp服務定義了一個基礎模板文件為common.yml:
# common.yml
webapp:
build: ./webapp
environment:
- DEBUG=false
- SEND_EMAILS=false
再編寫一個新的development.yml文件,使用common.yml中的webapp服務進行擴展:
# development.yml
web:
extends:
file: common.yml
service: webapp
ports:
- "8000:8000"
links:
- db
environment:
- DEBUG=true
db:
image: mysql
后者會自動繼承common.yml中的webapp服務及環境變量定義。
extends限制如下:
A、要避免出現循環依賴
B、extends不會繼承links和volumes_from中定義的容器和數據卷資源
推薦在基礎模板中只定義一些可以共享的鏡像和環境變量,在擴展模板中具體指定應用變量、鏈接、數據卷等信息
24、external_links
鏈接到docker-compose.yml外部的容器,可以是非Compose管理的外部容器。
external_links:
- redis_1
- project_db_1:mysql
- project_db_1:postgresql
25、labels
為容器添加Docker元數據(metadata)信息。例如,可以為容器添加輔助說明信息:
labels:
com.startupteam.description: "webapp for a strtup team"
26、links
鏈接到其它服務中的容器。使用服務名稱(同時作為別名),或者“服務名稱:服務別名”(如 SERVICE:ALIAS),例如:
links:
- db
- db:database
- redis
使用別名將會自動在服務容器中的/etc/hosts里創建。例如:
172.17.2.186 db 172.17.2.186 database 172.17.2.187 redis
27、log_driver
指定日志驅動類型。目前支持三種日志驅動類型:
log_driver: "json-file" log_driver: "syslog" log_driver: "none"
28、log_opt
日志驅動的相關參數。例如:
log_driver: "syslog"log_opt:
syslog-address: "tcp://192.168.0.42:123"
29、net
設置網絡模式。
net: "bridge" net: "none" net: "host"
30、security_opt
指定容器模板標簽(label)機制的默認屬性(用戶、角色、類型、級別等)。例如,配置標簽的用戶名和角色名:
security_opt:
- label:user:USER
- label:role:ROLE
31、環境變量
環境變量可以用來配置Docker-Compose的行為。
COMPOSE_PROJECT_NAME
設置通過Compose啟動的每一個容器前添加的項目名稱,默認是當前工作目錄的名字。
COMPOSE_FILE
設置docker-compose.yml模板文件的路徑。默認路徑是當前工作目錄。
DOCKER_HOST
設置Docker daemon的地址。默認使用unix:///var/run/docker.sock。 DOCKER_TLS_VERIFY
如果設置不為空,則與Docker daemon交互通過TLS進行。
DOCKER_CERT_PATH
配置TLS通信所需要的驗證(ca.pem、cert.pem 和 key.pem)文件的路徑,默認是 ~/.docker 。
五 Docker-Compose模板文件示例
1、docker-compose模板文件編寫
docker-compose.yaml文件如下:
[root@topcheer docker]# cat docker-compose.yml
version: '2'
services:
web1:
image: nginx
ports:
- "6061:80"
container_name: "web1"
web2:
image: nginx
ports:
- "6062:80"
container_name: "web2"
[root@topcheer docker]#
docker-compose.yaml文件指定了二個web服務。
2、啟動應用
創建一個webapp目錄,將docker-compose.yaml文件拷貝到webapp目錄下,使用docker-compose啟動應用。
docker-compose up -d
3、服務訪問
鳴謝:
http://www.rzrgm.cn/dalianpai/p/11951679.html
本文來自博客園,作者:{春光牛牛,yak},轉載請注明原文鏈接:http://www.rzrgm.cn/yakniu/p/16968792.html
歡迎各位大佬們評論指正
QQ討論群:610129902



浙公網安備 33010602011771號