Docker Compose

71 阅读2分钟

docker compose

Docker Compose 是一个工具,它允许开发者使用 YAML 文件来定义多容器 Docker 应用程序,并通过一个简单的命令来启动、停止和管理这些容器。Docker Compose 提供了以下几个主要优势:

  • 多容器编排:允许在单一配置文件中定义多个容器,并确保它们之间可以相互通信。
  • 简化环境管理:通过一条命令启动和停止整个应用环境,无需手动配置每个容器。
  • 可移植性:编写的 Compose 文件可以在任何支持 Docker 的平台上运行,确保开发、测试和生产环境的一致性。

命令式安装

使用命令方式安装wordpress

1. 创建网络

docker network create blog
docker network  ls

1.创建blog.png

2. 启动MySQL

docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=wordpress \
-v mysql-data:/var/lib/mysql \
-v /app/myconf:/etc/mysql/conf.d \
--restart always --name mysql \
--network blog mysql:8.0

2mysql.png

3. 启动wordpress

docker run -d -p 7799:80 \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=123456 \
-e WORDPRESS_DB_NAME=wordpress \
-v wordpress:/var/www/html \
--restart always --name wordpress-app \
--network blog  wordpress:latest

3.png

4. 访问wordpress

http://服务地址:7799

通过Compose部署

1. 编写docker-compose.yaml文件

name: myblog
services:
  mysql:
    container_name: mysql
    image: mysql:8.0
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=wordpress
    volumes:
      - mysql-data:/var/lib/mysql
      - /app/myconf:/etc/mysql/conf.d
    restart: always
    networks:
      - blog

  wordpress:
    container_name: wordpress-app
    image: wordpress:latest
    ports:
      - "7799:80"
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: 123456
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress:/var/www/html
    restart: always
    networks:
      - blog
    depends_on:  #依赖顺序
      - mysql

volumes:
  mysql-data:
  wordpress:
 
networks:
  blog:

2. 创建和启动容器

docker-compose -f docker-compose.yaml up -d

up.png

3. 删除容器、网络

docker-compose -f docker-compose.yaml  down

down.png

安装docker-compose

1. 下载Docker Compose二进制文件

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

2. 为二进制文件添加执行权限

sudo chmod +x /usr/local/bin/docker-compose

3. 创建符号链接(如果需要)

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose