dockerCompose使用
恶作剧
# docker-composem命令
# 构建镜像
# 只构建镜像,不启动容器
docker-compose -f docker-compose.yml build
1
2
2
# 启动容器
# 启动容器
docker-compose -f docker-compose.yml up -d
# 仅启动特定服务
docker-compose -f docker-compose.yml up -d service_name
1
2
3
4
5
2
3
4
5
# 构建并启动
# 指定yml 构建全部镜像并启动容器
docker-compose -f docker-compose.yml up -d --build
# 指定yml 构建指定镜像(Test)并启动容器
docker-compose -f docker-compose.yml up -d --build Test
1
2
3
4
5
2
3
4
5
# 停止容器
# 指定yml 停止并删除容器
docker-compose -f docker-compose.yml down
1
2
2
# 清理悬空镜像
当您使用 docker-compose build 重建服务时,新镜像会替换旧镜像的标签。
# 第一次构建
docker-compose build
# 输出: Successfully tagged myapp:latest
# 修改代码后再次构建
docker-compose build
# 新镜像: myapp:latest
# 旧镜像: <none> (dangling)
# 删除所有悬空镜像
docker image prune
# 强制删除(无需确认)
docker image prune -f
# 删除所有未被使用的镜像(包括悬空镜像)
docker image prune -a
# 删除特定时间前的悬空镜像
docker image prune --filter "until=24h"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# docker生成离线包
# 进入项目目录
cd /path/to/your/project
# 构建镜像(使用您的 docker-compose.yml)
docker-compose -f docker-compose.yml build
# 保存镜像为离线包
docker save -o bjyd-offline-images.tar \
bjyd-module-business:1.0 \
$(docker images --filter "dangling=false" --format "{{.Repository}}:{{.Tag}}" | grep -v '<none>')
# 使用 scp 传输(替换目标机器信息)
scp bjyd-offline-images.tar user@target-machine:/path/to/destination/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker save -o /home/appuser/deploy/docker-image/test/manage-web_$1.tar wanda-spm/manage-web:$1
1