Home | 简体中文 | 繁体中文 | 杂文 | 打赏(Donations) | 云栖社区 | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Github | Search | About

166.9. docker-compose - Define and run multi-container applications with Docker.

166.9.1. 安装 docker-compose

166.9.1.1. 使用 pip 安装

			
yum install -y python-pip
pip install docker-compose
			
			

166.9.1.2. OSCM 安装

			
curl -s https://raw.githubusercontent.com/oscm/shell/master/virtualization/docker/docker-compose.sh | bash
			
			

166.9.2. docker-compose.yml

本章节介绍如何定义 docker-compose.yml 文件

首先创建项目目录

		
mkdir docker
cd docker
vim 	docker-compose.yml
		
		

166.9.2.1. 版本号

			
version: '3'			
			
			

166.9.2.2. 镜像

image: mysql:5.7 表示使用 mysql:5.7 镜像, image: mysql:latest 表示 mysql 最新版

			
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress			
			
			
166.9.2.2.1. 挂在卷
				
     volumes:
       - db_data:/var/lib/mysql
				
				

166.9.3. 启动/停止

166.9.3.1. 启动

docker-compose up

			
[root@localhost docker]# docker-compose up
			
			

守护进程

			
docker-compose up -d			
			
			

166.9.3.2. 停止

docker-compose down

			
[root@localhost docker]# docker-compose down
Removing docker_membersrvc_1 ... done		
			
			

166.9.4. 查看进程

docker-compose ps

		
[root@localhost docker]# docker-compose ps 
      Name                     Command               State                                   Ports                                  
-----------------------------------------------------------------------------------------------------------------------------------
test_membersrvc_1   membersrvc                       Up      0.0.0.0:7054->7054/tcp                                                 
test_vp0_1          sh -c sleep 5; peer node s ...   Up      0.0.0.0:7050->7050/tcp, 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp			
		
		

166.9.5. 查看日志

		
docker-compose logs -f vp0		
		
		

166.9.6. 执行命令

		
docker-compose exec vp0 bash