docker-compose介紹及使用
-
Docker-Compose項目是Docker官方的開源項目,負責實現對Docker容器集群的快速編排。 -
Docker-Compose將所管理的容器分為三層,分別是工程project,服務service以及容器container -
Docker-Compose項目由Python編寫,調用Docker服務提供的API來對容器進行管理。 -
Docker-compose默認配置文件為docker-compose.yml,可在配置文件中指定所需要啟動每個容器所依賴的鏡像、端口映射、文件掛載等配置
-
添加
epel源:yum install -y epel-release -
安裝
python-pipyum install -y python-pip -
安裝
docker-composepip install docker-compose -
驗證是否安裝成功
docker-compose -version
Could not find a version that satisfies the requirement docker-compose (from versions: ) No matching distribution found for docker-compose You are using pip version 8.1.2, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. #可執行命令pip install —upgrade pip 更新一下pip版本就可以解決了
# 指定版本信息,不同版本語法會有所差異 version: '2' # 定義服務配置信息 services: # 定義nginx容器 nginx: # 指定根據哪個鏡像來啟動容器 image: xxx.com/xwjs/nginx:1.17 # 服務停止后自動重啟 restart: always # 指定容器與宿主機端口映射關系,8888是宿主機端口,80是容器端口,等同于docker run命令中的-p參數 ports: - "8888:80" - "4433:443" # 容器掛載信息,: 前為宿主機目錄,: 后為容器目錄,$PWD代表當前目錄,等同于docker run命令中的-v參數 volumes: - $PWD/nginx/conf.d/:/etc/nginx/conf.d/ - $PWD/nginx/logs/:/var/log/nginx/ # 繼承php容器的掛載目錄 volumes_from: - php # 與php容器進行關聯,等同于docker run命令中的--links命令 links: - php:php # 定義依賴容器,當docker-compose要啟動nginx容器時會先啟動其依賴的容器 depends_on: - php # 定義容器啟動后的名字 container_name: nginx # 定義php容器 php: image: xxx.com/xwjs/php:7.2 restart: always volumes: - $PWD/html:/var/www/html:cached links: - mysql:mysql depends_on: - mysql container_name: php # 定義mysql容器 mysql: image: xxx.com/xwjs/mysql:8.0 restart: always # 開發環境配置,線上環境不配置 ports: - "33066:3306" # 等同于docker run命令中的-e參數 environment: MYSQL_ROOT_PASSWORD: 1 volumes: - $PWD/mysql/:/var/lib/mysql/ container_name: mysql # 定義phpmyadmin容器 phpmyadmin: image: phpmyadmin/phpmyadmin restart: always links: - mysql:db ports: - "8080:80" container_name: phpmyadmin
其他命令
command:容器啟動后要執行的命令
networks:容器運行過程中使用的網絡
volumes:公共掛載目錄(3.0以上可用)
build:通過Dockerfile構建鏡像并啟動容器
context:Dockerfile文件路徑
dockerfile:Dockerfile文件名字
resource:資源限制,例如CPU、memory
三、基本使用
1. 在docker-compose.yml文件所在目錄下執行命令docker-compose up -d
2. 通過-f參數指定docker-compose.yml文件位置,在任意目錄執行docker-compose -f /your/path/docker-compose.yml up -d
常用命令:
1. docker-compose up 根據docker-compose.yml創建并啟動所有容器 2. docker-compose up -d 以后臺運行模式,根據docker-compose.yml創建并啟動所有容器 3. docker-compose ps 列出當前yml配置文件中所定義的容器 4. docker-compose stop|start|restart container_name 對指定的容器進行停止、啟動、重啟操作 5. docker-compose down 停止并移除所有容器,包括掛載卷和網絡 6. docker-compose logs 查看容器服務運行日志 7. docker-compose rm container_name 刪除停止的容器
-
根據項目需求,通過
Dockerfile定制服務鏡像; -
方便內部流通;
在阿里云搭建私有倉庫
-
創建命名空間;
-
創建倉庫;
-
添加及修改鏡像;
# 添加鏡像 docker tag [ImageId] xxx.com/namespace/code:[鏡像版本號] docker push xxx.com/namespace/code:[鏡像版本號]
更多用法可谷歌一下相應官網...
如有錯誤的地方請聯系博主更正

浙公網安備 33010602011771號