1 version: '3' 2 services: 3 web: 4 build: . 5 ports: 6 - "5000:5000" 7 volumes: 8 - .:/code 9 - logvolume01:/var/log 10 links: 11 - redis 12 redis: 13 image: redis 14 volumes: 15 logvolume01: {}
1 root@docker01:~# sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 2 root@docker01:~# sudo chmod +x /usr/local/bin/docker-compose
1 root@docker01:~# apt-get -y install python 2 root@docker01:~# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 3 root@docker01:~# python get-pip.py #安裝PIP 4 root@docker01:~# pip install docker-compose #安裝docker compose 5 root@docker01:~# docker-compose version #驗證安裝
1 root@docker01:~# mkdir composetest #建立Docker Compose目錄 2 root@docker01:~# cd composetest/ 3 root@docker01:~/composetest# vi app.py
1 root@docker01:~/composetest# vi Dockerfile #使用Dockerfile構建鏡像 2 FROM python:3.4-alpine 3 RUN mkdir /root/.pip #建立pip源配置目錄 4 ADD pip.conf /root/.pip/pip.conf #將國內pip源添加至須要構建的鏡像中 5 ADD . /code 6 WORKDIR /code 7 RUN pip install -r requirements.txt #根據文件列表使用pip安裝 8 CMD ["python", "app.py"]
1 root@docker01:~/composetest# vi requirements.txt #建立安裝軟件列表文件 2 flask 3 redis 4 root@docker01:~/composetest# vi pip.conf #建立基於國內pip源的文件 5 [global] 6 index-url = https://mirrors.aliyun.com/pypi/simple/ 7 [install] 8 trusted-host=mirrors.aliyun.com
1 root@docker01:~/composetest# vi docker-compose.yml 2 version: '3' 3 services: 4 web: 5 build: . 6 ports: 7 - "5000:5000" 8 redis: 9 image: "redis:alpine"
1 root@docker01:~/composetest# docker-compose up -d #開始構建
1 root@docker01:~/composetest# docker-compose ps 2 root@docker01:~/composetest# docker ps
1 root@docker01:~/composetest# docker image ls
1 root@docker01:~/composetest# vi docker-compose.yml 2 version: '3' 3 services: 4 web: 5 build: . 6 ports: 7 - "5000:5000" 8 volumes: 9 - .:/code 10 redis: 11 image: "redis:alpine" 12 root@docker01:~/composetest# docker-compose up -d #再次構建 13 root@docker01:~/composetest# vi app.py 14 …… 15 return 'Hello Docker! I have been seen {} times.\n'.format(count) 16 ……
1 docker-compose up -d:在後臺運行服務; 2 docker-compose ps:查看當前正在運行的容器; 3 docker-compose run:運行一次性命令,如docker-compose run web env。
1 docker-compose stop:中止服務,如docker-compose stop web
1 docker-compose down --volumes:徹底刪除容器同時刪除容器使用的數據卷。
原文出處:https://www.cnblogs.com/itzgr/p/10171046.htmlhtml