在梳理完服务之后,开始对服务进行容器化,此前已经对数据库和消息队列容器化了,在此之后使用docker-compose对前端站点进行容器化,于是记录一下docker-compose初步的安装与使用方法。
安装方法
1.从github最新版本的docker-compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose2.添加执行权限
sudo chmod +x /usr/local/bin/docker-compose3.创建软连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose4.验证版本
docker-compose --version基本操作命令
启动服务:
docker-compose up
# 后台启动
docker-compose up -d
# 指定配置文件
docker-compose -f docker-compose.yml up -d停止服务:
bashdocker-compose down
# 停止并删除卷
docker-compose down -v
# 停止并删除镜像
docker-compose down --rmi all查看服务状态:
# 查看运行中的服务
docker-compose ps
# 查看服务日志
docker-compose logs
# 实时查看日志
docker-compose logs -f服务管理命令
启动特定服务:
docker-compose start <服务名>停止特定服务:
docker-compose stop <服务名>重启服务:
docker-compose restart <服务名>
# 重启所有服务
docker-compose restart暂停/恢复服务:
# 暂停服务
docker-compose pause <服务名>
# 恢复服务
docker-compose unpause <服务名>构建和镜像管理
构建服务镜像:
docker-compose build
# 构建特定服务
docker-compose build <服务名>
# 强制重新构建
docker-compose build --no-cache拉取镜像:
docker-compose pull
# 拉取特定服务镜像
docker-compose pull <服务名>推送镜像:
docker-compose push
# 推送特定服务镜像
docker-compose push <服务名>容器操作命令
进入容器:
docker-compose exec <服务名> bash
# 或者使用 sh
docker-compose exec <服务名> sh运行一次性命令:
docker-compose run <服务名> <命令>
# 例如运行数据库迁移
docker-compose run web python manage.py migrate查看和调试命令
查看服务日志:
docker-compose logs <服务名>
# 查看最近日志
docker-compose logs --tail 50 <服务名>
# 实时跟踪日志
docker-compose logs -f <服务名>查看容器进程:
docker-compose top
# 查看特定服务进程
docker-compose top <服务名>查看服务配置:
# 查看配置
docker-compose config
# 查看服务依赖关系
docker-compose config --services扩展和资源管理
扩展服务实例:
docker-compose up --scale <服务名>=<数量>
# 例如扩展web服务到3个实例
docker-compose up --scale web=3查看资源使用情况:
docker-compose events
# 查看实时事件
docker-compose events --json环境和变量
设置环境变量:
# 使用 .env 文件
docker-compose --env-file .env up
# 覆盖项目名称
docker-compose -p <项目名> up常用选项
指定配置文件:
-f <文件名> 或 --file <文件名>指定项目名称:
-p <项目名> 或 --project-name <项目名>后台运行:
-d 或 --detach强制重建:
--build