安装

linux
DOCKER_CONFIG=/usr/local/lib/docker/cli-plugins
sudo mkdir -p $DOCKER_CONFIG/cli-plugins
sudo curl -SL https://521github.com/docker/compose/releases/download/v2.6.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
sudo chmod +x $DOCKER_CONFIG/cli-plugins
  • 1.
  • 2.
  • 3.
  • 4.
ubuntu
sudo apt  install docker-compose
  • 1.
测试
docker compose version
  • 1.

docker-compose脚本编写及常用命令_docker

使用
服务与项目

概念

描述

服务(service)

一个应用容器,可以运行多个相同镜像的实例。每个服务都包含一个 Docker 镜像以及其相关的配置信息,例如容器的名称、端口映射、环境变量等。多个服务可以组合成一个完整的应用程序。

项目(project)

由一组关联的应用容器组成的一个完整业务单元。一个项目可以包含一个或多个服务,这些服务可以通过 Docker Compose 文件进行定义和管理。在一个项目中,你可以定义服务之间的依赖关系、网络连接、存储卷等。

例子(docker安装wordpress)
version: '3'

services:
  wordpress:
    image: wordpress
    ports:
      - "8000:80"
    depends_on:
      - mysql
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: root
      WORDPRESS_DB_NAME: wordpress
    networks:
      - my-wordpress-networks
  mysql:
    image: mysql:5.7
    command:
      - --default_authentication_plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - my-wordpress-networks

volumes:
  mysql-data:


networks:
  my-wordpress-networks:
    driver: bridge
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
运行
docker compose up
  • 1.
访问wordpress

 http://192.168.1.15:8000/wp-admin/install.php

ip为安装docker机器机器的ip,端口是上面配置的

docker-compose脚本编写及常用命令_mysql_02

运行报错
ERROR: The Compose file './docker-compose.yml' is invalid because: services.wordpress.ports contains an invalid type, it should be an array

解决:

vim /etc/docker/daemon.json

// 配置镜像, 进入输入: i 然后粘贴下面的内容然后输入 “:wq” 保存
{
 "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://reg-mirror.qiniu.com"]
}

// 重新加载 systemd 守护进程
systemctl daemon-reload

// 重启docker
systemctl restart docker
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
常用命令
启动容器

docker-compose up

后台启动容器服务

docker-compose up -d

停用容器

docker-compose stop

移除容器服务

docker-compose down

查看容器服务状态

docker-compose ps

查看容器日志

docker-compose logs [service_name]

docker-compose logs mysql

重新构建服务

docker-compose build