[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 镜像名

相关推荐
如若1239 分钟前
AutoDL云服务器 NVIDIA 570驱动 EGL渲染修复全记录
运维·服务器·python
i建模12 分钟前
Omarchy设置防火墙
linux·运维
晚秋大魔王21 分钟前
泰拉瑞亚手机版服务器部署
运维·服务器·泰拉瑞亚
敲代码的哈吉蜂22 分钟前
高可用集群Keepalived
运维·服务器·网络·数据库
青衫码上行1 小时前
【项目部署】Spring Boot项目部署的四种方式
java·linux·服务器·spring boot·后端·docker·腾讯云
盟接之桥1 小时前
盟接之桥说制造:从客供的外在共生到内在的身心合一
运维·服务器·网络·人工智能·制造
火车叼位2 小时前
让 SSL 证书管理更简单:k ssl 命令实战手册
运维
礼拜天没时间.2 小时前
JumpServer堡垒机部署与实战:从0到1搭建统一运维入口
linux·运维·架构·堡垒机·jumpserver·sre
林姜泽樾2 小时前
linux入门第四章,cd指令和相对、绝对路径
linux·运维·服务器
是小崔啊2 小时前
叩丁狼k8s-运维管理
运维·容器·kubernetes