docker compose构建镜像如何调试

本文介绍如何使用Docker及docker-compose构建Java微服务应用,重点解决容器内bash脚本运行问题,包括调试技巧、Dockerfile配置及基础镜像选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java的微服务,用docker-compose构建镜像、运行容器。在此过程中,需要调试。

1. 调试遇到的问题

以下是走过的弯路

  1. 认为需要容器保持运行,才能“登录”容器查看COPY ADD运行环境等
  2. 认为sh: can’t open ‘test.sh’: No such file or directory运行容器时错误,是文件COPY 或ADD或WORKDIR命令执行遇到错误

2. 调试Dockerfile

2.1 容器调试无需容器保持运行

docker image ls 看到构造的镜像,docker run -it <image-id> sh可以登录到容器shell环境,即使没有进程让容器保持运行(通常认为容器需要有一个进程让它保持运行,才能登录)

[root@wonderland-01 project_name]# docker run -it aip/aip-gateway sh
/apprun/module-name/publish  # cat /etc/shells   从文件内容看没有bash只有sh
# valid login shells
/bin/sh
/bin/ash
/apprun/module-name/publish  # ls .

bash和sh的区别:
https://blog.youkuaiyun.com/wht1995316/article/details/115837282

2.2 COPY/ADD的shell脚本文件的bash不存在

Dockerfile运行容器

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值