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

安装

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
ubuntu
sudo apt  install docker-compose 

测试

docker compose version

使用

服务与项目

概念

描述

服务(service)

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

项目(project)

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

例子(docker安装wordpress)
version: '3'services:wordpress:image: wordpressports:- "8000:80"depends_on:- mysqlenvironment:WORDPRESS_DB_HOST: mysql:3306WORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: rootWORDPRESS_DB_NAME: wordpressnetworks:- my-wordpress-networksmysql:image: mysql:5.7command:- --default_authentication_plugin=mysql_native_password- --character-set-server=utf8mb4- --collation-server=utf8mb4_unicode_cirestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: rootMYSQL_DATABASE: wordpressvolumes:- mysql-data:/var/lib/mysqlnetworks:- my-wordpress-networksvolumes:mysql-data:networks:my-wordpress-networks:driver: bridge
运行
docker compose up
访问wordpress

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

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

运行报错
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

常用命令

启动容器

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