[docker]构建镜像和容器

以构建python容器为例,有的时候我们会遇到依赖冲突的问题,可以将冲突的依赖安装到venv虚拟环境解决

bash 复制代码
# 使用官方的Python基础镜像
FROM python:3.8-slim

# 设置工作目录
WORKDIR /app

# 复制当前目录下的所有文件到工作目录
COPY . /app
# 使用pip安装conan
RUN pip install conan==1.60.1 -i https://mirrors.aliyun.com/pypi/simple/
# 复制依赖文件
COPY requirements.txt .

# 创建虚拟环境
RUN python -m venv venv

# 激活虚拟环境并安装依赖
RUN . venv/bin/activate && pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
#添加仓库
RUN conan remote add --insert 0 peccore-test http://10.12.135.236:8081/artifactory/api/conan/peccore-test
#登陆Conan仓库
RUN conan user -p Zhangzilong123@ -r peccore-test zhangzilong
# 暴露容器的5001端口给外部
EXPOSE 5001

# 运行Flask应用
CMD ["venv/bin/python","app.py"]

首先切换到Dockerfile所在目录

构建镜像

bash 复制代码
docker build -f Dockerfile -t 镜像名:v1.0.0.0 .

启动镜像

bash 复制代码
docker run -p 8700:8700 镜像名

浏览器打开locahost:8700出现正确的内容即为成功

将镜像打包成 .tar 文件

bash 复制代码
docker save -o 名字.tar 镜像名

其他机器加载运行这个镜像

bash 复制代码
docker load -i 名字.tar   

然后docker run -p 8700:8700 镜像名

相关推荐
mounter62529 分钟前
深度解析:Linux 内核为何要移除“直接映射” (Direct Map)?
linux·运维·服务器·security·linux kernel·direct mem map
AC赳赳老秦42 分钟前
HR必备:OpenClaw批量筛选简历、发送面试通知,优化招聘流程
运维·人工智能·python·eclipse·github·deepseek·openclaw
NineData43 分钟前
NineData亮相香港国际创科展InnoEX 2026,以AI加速布局全球市场
运维·后端
another heaven1 小时前
【Docker/虚拟机 深度对比Docker与虚拟机:原理、区别与最佳使用场景】
运维·docker·容器
带娃的IT创业者1 小时前
零停机迁移:如何将服务器成本从 $1432 降至 $233
运维·服务器·网络·成本优化·服务器迁移·零停机·hetzner
独自归家的兔2 小时前
2026年4月16日 Ubuntu系统 Docker 的安装与配置
运维·docker·容器
舒一笑2 小时前
Docker 离线镜像导入后变成 <none>:<none>?一文讲透原因、排查与正确打包姿势
后端·docker·容器
福老板的生意经3 小时前
从成本失控到ROI翻倍:企业数字化营销投放的落地路径与工具选型指南
大数据·运维·人工智能
Bonnienienie3 小时前
服务器Docker实例化容器 -- 踩坑大全
docker
va学弟3 小时前
Agent入门开发
java·运维·服务器·ai