配置
在上一节的基础上, 增加如下的docker-compose.yml文件, 然后用docker-compose up命令启动容器进行部署:
1 version: "3" 2 services: 3 server: 4 image: update/server:v0.1 5 labels: 6 description: "tcp server test script" 7 restart: always 8 command: -p 3000 9 10 worker: 11 image: update/worker:v0.1 12 labels: 13 description: "tcp client test script" 14 restart: always 15 links: 16 - server:server 17 command: -d server -p 3000
启动信息:
1 linux:/app # docker-compose up 2 Creating network "app_default" with the default driver 3 Creating app_server_1_17e8cbeb1e01 ... done 4 Creating app_worker_1_bd97b9199c60 ... done 5 Attaching to app_server_1_74e7ece79785, app_worker_1_bb9dcc04daf9 6 7 8 linux:/app/original/server # docker ps 9 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 10 81211aa6383c update/worker:v0.1 "python worker.py ..." About a minute ago Up About a minute app_worker_1_bb9dcc04daf9 11 76c322567db7 update/server:v0.1 "python server.py ..." About a minute ago Up About a minute app_server_1_74e7ece79785 12 linux:/app/original/server # docker exec ^C 13 linux:/app/original/server # docker exec 81211aa6383c ss -a | grep 3000 14 tcp ESTAB 0 0 172.18.0.3:52448 172.18.0.2:3000 15 linux:/app/original/server # docker exec 76c322567db7 ss -a | grep 3000 16 tcp LISTEN 0 5 *:3000 *:* 17 tcp ESTAB 0 0 172.18.0.2:3000 172.18.0.3:52448 18 linux:/app/original/server # docker exec 76c322567db7 tail -f /update/server/log/server.log 19 2018-11-19 09:35:59 [INFO] Waiting for connection... 20 2018-11-19 09:36:00 [INFO] ('172.18.0.3', 52448) connected 21 tail: unrecognized file system type 0x794c7630 for '/update/server/log/server.log'. please report this to bug-coreutils@gnu.org. reverting to polling 22 ^C 23 linux:/app/original/server # docker exec 81211aa6383c tail -f /update/worker/log/worker.log 24 tail: unrecognized file system type 0x794c7630 for '/update/worker/log/worker.log'. please report this to bug-coreutils@gnu.org. reverting to polling 25 2018-11-19 09:38:30 [INFO] [recv] hello, docker! 26 2018-11-19 09:38:35 [INFO] [recv] hello, docker! 27 2018-11-19 09:38:40 [INFO] [recv] hello, docker! 28 ^C 29 linux:/app/original/server # 30 linux:/app # docker-compose -f docker-compose.yml down 31 Stopping app_worker_1_bd97b9199c60 ... done 32 Stopping app_server_1_17e8cbeb1e01 ... done 33 Removing app_worker_1_bd97b9199c60 ... done 34 Removing app_server_1_17e8cbeb1e01 ... done 35 Removing network app_default 36 linux:/app #
支持环境变量传参
在上面的基础上,把命令行传参的方式改为通过环境变量传参:
1 FROM jason/debian-python27:v1.0 2 3 MAINTAINER jason<djsxut@163.com> 4 5 RUN mkdir -p /env/server 6 7 COPY . /env/server 8 9 WORKDIR /env/server 10 11 ENV PATH $PATH:/env/server 12 13 ENTRYPOINT ["python", "server.py"]