dockerfile构建调试

60 阅读2分钟

1、先改Linux服务器映射关系,代理到本地

# 创建映射关系
vi /etc/systemd/system/docker.service.d/http-proxy.conf
# http-proxy.conf文件内,编辑内容如下:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7078"
Environment="HTTPS_PROXY=http://127.0.0.1:7078"   

# 测试环境服务器http://127.0.0.1:7078

2、本地Windows系统cmd执行该命令

# 这个是Windows系统cmd执行命令。映射端口到test01 去构建镜像,端口为测试环境的端口
ssh -R 127.0.0.1:9999:127.0.0.1:7078 root@test01.byecode.com
# 如果执行过程中网络出现问题,很有可能是防火墙导致的
# 开启防火墙
systemctl daemon-reload

# 重启docker
systemctl restart docker
# 切换到
cd /data/workspace/infra/

image.png

# 
cd admin-autoTest

# 
cat python-test.Dockerfile

#若文件为空,需要用vim python-test.Dockerfile,将代码中的dockerfile文件内容拷贝进来

# 

image.png

image.png

步骤1:构建docker镜像

# 删除容器关联的数据卷
docker rm -v 48af48e681db

# 清除镜像缓存
docker builder prune

# 构建docker镜像
docker build -f python-test.Dockerfile -t byecode-auto-test .

# 构建关联tag
docker tag byecode-auto-test:latest registry.cn-shanghai.aliyuncs.com/lighthousev1/byecode-auto-test:v1

# 推送到阿里云镜像仓库
docker push registry.cn-shanghai.aliyuncs.com/lighthousev1/byecode-auto-test:v1

image.png

image.png

image.png ===============================================================

步骤2:运行docker容器

# 映射宿主机端口到容器端口(格式:宿主机端口:容器端口)
docker run -d -p 8811:8811 --name your-container-name your-image-name:tag

--name 指定容器名称
-p 8811:8811 将宿主机的 8811 端口映射到容器的 8811 端口(按需修改宿主机端口)
-d 表示后台运行

步骤3:验证容器状态

# 查看正在运行的容器
docker ps

# 查看容器日志(排查启动问题)
docker logs your-container-name

步骤4:调试容器

# 进入容器内的交互式 Shell
docker exec -it your-container-name /bin/bash

# 在容器内检查文件、依赖和环境
ls -l /app          # 确认文件已复制
pip list            # 检查依赖是否安装成功

步骤5:数据持久化(如果需要)

如果应用需要保存数据(如数据库、上传文件等),使用 卷挂载:

docker run -d \
  -p 8811:8811 \
  -v /host/path/data:/app/data \
  --name your-container-name \
  your-image-name:tag

步骤6、其他常用命令

# 停止容器
docker stop your-container-name

# 启动已停止的容器
docker start your-container-name

# 删除容器
docker rm your-container-name

# 删除镜像
docker rmi your-image-name:tag