什么是docker-compose
官方开源项目,是对docker容器的快速编排
docker-compose定位
定义和运行多个容器的应用
核心概念
服务(service):一个应用的容器,实际上可以包含若干运行相同镜像的容器实例
项目(project):由一组关联的应用容器组成的一个完整的业务单元,在docker-compose.yml文件中定义
安装(Linux)
curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
第一个docker-compose程序
a、创建一个docker-compose.yml文件
touch docker-compose.yml
b、在文件中定义一个项目存在哪些服务
version: "2.0"
services:
nginx:
image: nginx:latest
ports:
- "8080:80"
c、运行一个docker-compose文件
docker-compose up
docker-compose 命令模板
version: "3.0"
services:
nginx:
container_name: "nginx01"
image: nginx:latest
ports:
- "8081:80"
volumes:
- /root/apps:/use/local/src
- nginxData:/use/local/src
networks:
- hello
environment:
- MYSQL_ROOT_PASSWORD=root
command: "redis-server --appendonly yes"
env_file:
- ./mysql.env
depends_on:
- mysql
volumes:
nginxData:
external:
true
networks:
hello:
external:
true
docker-compose中的build指令
作用:用来将指定dockerfile打包成对应镜像,然后运行该镜像
docker-compose中的指令
作用:用来对整个docker-compose.yml对应的这个项目操作
常用指令:
docker-compose --help
docker-compose up
docker-compose up -d
docker-compose down
docker可视化工具(portainer)
安装:
docker pull portainer/portainer
启动
docker run -d -p 9000:9000 -p 8000:8000 --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
访问,第一次访问需要创建用户名密码,然后选择local
http://192.168.40.150:9000/