Docker Compose基本介绍
生活随笔
收集整理的這篇文章主要介紹了
Docker Compose基本介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Docker Compose
什么是docker compose
1. Compose是一個定義和管理多容器的工具,使用Python語言編寫。
2. 使用Compose配置文件描述多個容器應(yīng)用的架構(gòu),比如使用什么鏡像、數(shù)據(jù)卷、網(wǎng)絡(luò)、映射端口等;
3. 然后一條命令管理所有服務(wù),比如啟動、停止、重啟等。
docker compose作用
1. 現(xiàn)在我們要部署django項目,需要 nginx+mysql+redis+nginx等
2. 我們需要開啟四個docker容器進行部署每一個組件,如果每個容器單獨管理太過于復(fù)雜,而且可能是給客戶部署項目
- 每一個容器啟動都是有說法的,比如celery會使用redis,如果redis沒有啟動先啟動celery服務(wù)起不來
- 我們的django項目會使用 mysql、還會使用redis,如果這兩個沒有啟動而先啟動django項目,也會報錯
3. docker compose就是一個可以同時管理一個項目中的多個docker容器的工具,一鍵部署啟動
安裝docker compose
安裝docker compose
[root@linux-node4 ~]# curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose [root@linux-node4 ~]# chmod +x /usr/local/bin/docker-composedocker-compose配置文件解析
version: '3' # cocker compose版本號services: # 頂級配置文件(名稱自己寫)mysql: # 服務(wù)名: 容器建通信、管理容器(mysql這個容器取的名字,也是自己寫的)image: mysql:5.7 # 引入官方mysql鏡像(可以大家自己的hub倉庫,中大型公司都會自己搭建docker hub倉庫)volumes:- ./mysql:/var/lib/mysql # 把當(dāng)前文件夾下的 ./mysql文件夾掛載到docker容器 /var/lib/mysql 路徑下expose:- "3306" # 將當(dāng)前容器的端口3306端口暴露給link到本容器的容器restart: always # 宿主機重啟自動拉起這個docker容器environment:- MYSQL_ROOT_PASSWORD=root # mysql服務(wù)器root密碼root- MYSQL_DATABASE=djangodocker # 創(chuàng)建數(shù)據(jù)庫 djangodocker- MYSQL_USER=django # 創(chuàng)建一個用戶 django- MYSQL_PASSWORD=django # 用戶密碼為django- 單獨部署一個nginx- 安裝nginx服務(wù)- 配置nginx.conf- 配置 /etc/nginx/conf.d/*.conf- 訪問端口nginx:image: nginx:alpinevolumes:- ./nginx/nginx.conf:/etc/nginx/nginx.conf- ./nginx/conf:/etc/nginx/conf.d- ./web/staticfiles:/django_staticports:- "80:80" # 綁定容器的80端口到主機的80端口depends_on:- web # 必須先啟動web容器然才能啟動nginx容器redis:image: redis:alpineexpose:- "6379"restart: alwaysweb:build: .# command: python manage.py runserver 0:8000# ports:# - "8000:8000"command: uwsgi --ini uwsgi.ini # 啟動uwsgi命令working_dir: /code/web # 項目工作路徑volumes:- .:/code # 將當(dāng)前文件夾下所有文件掛載到容器的 /code 文件夾expose:- "8000"depends_on: # 必須mysql和reids容器啟動后才能啟動web容器- mysql- rediscelery:build: .command: celery -A web worker -l infoworking_dir: /code/webvolumes:- .:/codedepends_on:- mysql- redis啟動運行
$ docker-compose up -d # 啟動所有容器$ docker-compose logs celery # 查看celery運行日志$ docker-compose down # 關(guān)閉所有容器啟動后訪問:http://192.168.56.11compose 配置常用字段
常用命令
總結(jié)
以上是生活随笔為你收集整理的Docker Compose基本介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django + Uwsgi + Ngi
- 下一篇: Celery定时任务异步任务