#下载软件
因官网推荐下载地址速度太慢,所以要选择国内的源下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose #下载到/usr/local/bin下
chmod +x /usr/local/bin/docker-compose #授权
docker-compose version #查看版本信息
#启动项目
docker-compose up -d #-d后台启动
#重新构建
docker-compose up --build
#docker-compose模板
version: "3.0" #版本号
services: #服务
tomcat01: #服务名
container_name: tomcat01 #容器名,相当于--name
image: tomcat:8.0-jre8 #使用的镜像
ports: #主机与容器的端口映射,相当于-p
- "8080:8080"
volumes: #主机与容器中目录的数据卷共享,相当于-v
- /root/apps:/usr/local/tomcat/webapps #使用自定义路径
- tomcatwebapps01:/usr/local/tomcat/webapps #使用自建的目录,需要声明,路径在/var/lib/docker/volumes
networks: #当前服务使用哪个网络,相当于--network,需要声明,默认使用bridge
- mynet
mysql:
build: .
container_name: mysql
ports:
- "3306:3306"
volumes:
- mysqldata:/var/lib/mysql
- mysqlconf:/etc/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456 #设定容器内变量的值,相当于-e
networks:
- mynet
redis:
image: redis:latest
container_name: redis
ports:
- "6379:6379"
volumes:
- redisdata:/data
networks:
- mynet
command: "redis-server --appendonly yes" #容器启动时运行的命令,覆盖默认命令
volumes: #声明上面服务所使用的自动创建的卷名
tomcatwebapps01: #声明指定的卷名,会自动创建该卷名,会在前面加入文件夹名
external: #使用自定义卷名,需要在启动前手动添加
true
tomcatwebapps02:
mysqldata:
mysqlconf:
redisdata:
networks: #声明上面服务用到的网络
mynet: #声明服务指定的网络,会自动创建该网络,会在前面加入文件夹名
external: #使用自定义网络,需要在启动前手动添加
true