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: 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
运行
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