【外部配置文件映射到docker容器内部】

有1个服务器、有一个python脚本(这个脚本包含一个python脚本+配置文件),需要将这个python脚本放在linux服务器上运行。

1、同一个目录下放:python代码、ini配置文件、dockerfile

dockerfile文件内容(因为我这个脚本是用于产生数据的,我运行方式是在容器启动后去容器内部通过python xxx.py来运行这个代码,如果需要启动容器就运行程序,那这儿需要添加command python xxx.py):

powershell 复制代码
FROM  dockerhub.xxx.com/xxx/xxx:amd64

WORKDIR /app

COPY ./ /app

2、构建镜像

把这个目录下的3个文件放在服务器上,执行命令:docker build -t mock . (mock表示镜像名称,我这儿构建后放在了本地,如果需要推到远程仓库,补充地址即可)

3、启动容器

因为我配置文件需要从服务器映射进去,因此我需要把服务器的目录挂载到容器内的的目录/app,

根据我的配置文件/home/{user}/mock_alarm/config.ini内容为:

c 复制代码
[settings]
zip_file_path = /app/source/xxx.zip
output_folder = /app/output/
target_folder = /app/target/

因此我的创建容器命令为:

bash 复制代码
docker run -it \
  -v /home/{user}/mock_alarm/config.ini:/app/config.ini \
  -v /home/{user}/source:/app/source \
  -v /home/{user}/output:/app/output \
  -v /home/{user}/target:/app/target \
  7e21e94f7936 sh

其中7e21e94f7936 是我构建的镜像id

这儿仅启动一个容器,并没有运行代码,因为我想去容器内部启动程序

4、进入容器启动程序

进入容器:

bash 复制代码
docker exec -it {容器id或容器名称} sh

后台启动程序:

bash 复制代码
nohup python mock_alarm.py > /app/logs/app.log 2>&1 & 

ps:

通过ps命令查看这个容器内的后台运行任务的情况:

也可通过 kill {pid} 来结束某个程序

相关推荐
Asuicao3 小时前
centos7.9版本升级ssh OpenSSH 9.8p1 源码 OpenSSL 1.1.1w 源码包以及安装升级回滚文档
运维·ssh
志栋智能3 小时前
超自动化安全中的威胁狩猎
运维·安全·自动化
蜀道山老天师4 小时前
K8s Secret 与 ConfigMap 配置管理及动态更新实战详解
云原生·容器·kubernetes
梦想的颜色4 小时前
【Docker部署插件】:使用 Docker 部署生产级 Kafka 完整版教程
安全·docker·中间件·kafka·消息队列·docker-compose·后端开发
↘"LYong4 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Elastic 中国社区官方博客5 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
程序员在囧途5 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
想你依然心痛6 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
沉静的小伙6 小时前
在微服务中使用领域事件
java·运维·微服务
满意的星月6 小时前
基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)
docker·微服务·架构