Docker系列器九:docker-compose与docker-compose.yml语法

一般情况下:docker 安装wordpress,流程是:
docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql

docker run -d -e WORDPRESS_DB_HOST=mysql:3306 --link mysql -p 8080:80 wordpress

Docker Compose

docker Compose 代替了批处理的功能
1,docker compose是一个工具
2,这个工具可以通过一个yml文件定义多容器的docker应用
3,通过一个命令就可以柑橘yml文件的定义去创建或者管理这多个容器

docker-compose.yml三大概念
services
networks
volumes

1,一个service代表一个container,这个container可以从dockerhub的image开创建,或者从本地的dockerfile build出来的images创建

2,service 启动类似docker run ,我们可以给其他的network和volume的引用

docker Compose的安装接使用
查看docker-compose的版本
docker-compose --version

linux下面的安装:

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

赋权:
sudo chmod +x /usr/local/bin/docker-compose

[root@docker-host home]# docker-compose --version
docker-compose version 1.22.0, build f46880fe

将编写的yml文件放到一个文件夹下面
使用docker-compose up来启动,这种方式可以看到日志
docker-compose up -d  启动起来,在后台显示
可以使用docker-compose up --help查看帮助

启动指定的docker-cmpose yml文件
docker-compose -f docker-compose up

查看docker-compose进程
docker-compose ps

但是通过docker ps -a也能看见

停止docker-compose的两个方式:
docker-compose stop 这种不会删除容器和里面的数据
docker-compose down 这种会删除容器和删除容器里面的network和volume

docker-compose.yml
version: '3'

services:

  wordpress:
    image: wordpress
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_PASSWORD: root
    networks:
      - my-bridge

  mysql:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - my-bridge

volumes:
  mysql-data:

networks:
  my-bridge:
    driver: bridge

docker 文档
https://docs.docker.com/
docker compose文档
https://docs.docker.com/ee/
docker compose版本参考文档
https://docs.docker.com/compose/compose-file/

 

你可能感兴趣的:(Docker,软件工程)