python程序docker化部署

2023-05-16

启动docker

systemctl start docker  #启动docker
systemctl enable docker #设置开机自启动docker
systemctl status docker #查看docker状态

步骤:

1、新建文件夹

mkdir docker_test

cd docker_test

2、创建Dockerfile文件,文件内容如下

FROM ubuntu:16.04


MAINTAINER LXY

ENV LANG C.UTF-8

#执行镜像中的provision.sh脚本
COPY provision.sh /home/
COPY python程序文件 /home/
RUN chmod a+x /home/provision.sh
RUN /home/provision.sh


#解决时区问题
RUN apt-get update -y && apt-get upgrade -y
# 安装,中国用户填写[Asia/Shanghai] ,表示亚洲/上海 ,东八区
RUN apt-get install -y tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3、创建provision.sh脚本,内容如下:

#!/bin/bash
set -e

apt-get update
#安装vim
#apt-get -y install vim

#解决vim中文乱码
#vim /etc/vim/vimrc
#set fileencodings=utf-8,gbk,utf-16le,cp1252,iso-8859-15,ucs-bom
#set termencoding=utf-8
#set encoding=utf-8
#
#安装sqlite3
apt-get install libsqlite3-dev
apt-get -y install gcc

#解决ssl No module named _ssl
apt-get install libssl-dev -y
#
apt-get install make

apt-get -y install zlib*

#安装wget
apt-get -y install wget

#下载python
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
#解压tgz
tar -xvzf Python-3.6.5.tgz

#
cd Python-3.6.5
./configure --with-ssl
make && make install

ln -sf /usr/local/bin/python3 /usr/bin/python

#解决opencv 报错
apt-get -y install libgl1-mesa-glx

apt-get install -y libglib2.0-dev 
apt-get install -y libsm6 libxext6 libxrender-dev


#删除安装文件
#rm -R Python*

#升级pip
python3 -m pip install --upgrade pip

pip3 install -r requirements.txt -i https://pypi.douban.com/simple


#mysql
#cd /home
#wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb






#中文编码问题
#export  LANG=C.UTF-8

#解决cv2 问题
#apt-get -y install libgl1-mesa-glx
#python -V

#升级pip
#python -m pip install --upgrade pip

3、创建镜像

docker build -t image_name .

# image_name 为创建的镜像名称,. 表示当前目录(docker_test)

# 执行该命令会自动按照Dockerfile文件中的内容生成镜像

4、创建run.sh脚本文件,用于后面创建docker容器后开启自动运行python程序

#!/bin/bash
#python.sh
cd /home/src
export  LANG=C.UTF-8
nohup python3 filename.py  >/home/out.log 2>&1    #后台运行并保存日志文件

5、创建容器并运行

docker run -it -d -p 11883:45055 --restart=always --name 容器名 镜像ID /bin/bash ./run.sh
#-d 后台运行 -p 指定端口映射  11883 主机端口 45055容器端口  --restart=always 容器开机自启动 
# /bin/bash ./run.sh 容器启动时自动运行脚本

容器保存为镜像

docker commit 容器名称 镜像名称

镜像备份

docker save -o my_image.tar 镜像名称

镜像迁移与恢复

docker load -i my_image.tar

进入容器

docker exec -it 容器名称或id /bin/bash     # 进入
exit   # 退出

停止容器

docker stop 镜像名称或id

启动容器

docker start 容器名称或id

重启容器

docker restart 容器名称或id

删除容器

docker rm 容器名称或id

删除镜像

docker rmi 镜像名称或id

查看容器

docker ps   # 查看正在运行的容器
docker ps -a  # 查看所有容器,包括未删除的历史容器

查看镜像

docker images

拷贝本地文件到容器

docker cp 本地文件路径 容器id:路径  # 本地到容器
docker cp 容器id:文件路径 本地路径  # 容器到本地

解决python  缺少_bz2

链接:https://pan.baidu.com/s/1XWKQfJPhtrcTwG62LhQ82Q
提取码:fdxy

备注:

docker run -itd --rm --name python  python:3.5-slim-stretch

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python程序docker化部署 的相关文章

随机推荐

  • 4、DockerFile文件的使用

    文章目录 一 DockerFile 文件1 1 DockerFile构建过程1 1 1 基础知识1 1 2 docker执行DockerFile的大致流程 1 2 Dockerfile常见的关键字1 3 自定义镜像mycentosjava8
  • git 的使用笔记 编辑工具vscode

    vscode与git对应命令 Changes 里的文件 43 会放到 Staged Changes 61 61 git add 全部修改的文件 Staged Changes 里的文件 34 34 会撤回到Changes里 61 61 git
  • 使用Python,Opencv检测AprilTag

    这篇博客将介绍AprilTags 这是一组基准标记 通常用于机器人技术 校准和3D计算机视觉项目 通常在执行实时检测时使用AprilTags 以及密切相关的ArUco标记 AprilTags是一种基准标记 更简单地说是 标记 基准点是在捕获
  • DIY 属于自己的OPENMV4, 附openmv4部分的原理图。

    很多小白想要用AD来DIYopenmv4 xff0c 拥有属于自己DIY的openmv4 但是却没有找到好的参考资料 xff0c 现总结如下所示 现在官方还在众筹 xff0c 官方的开源的资料 xff0c 也是在三月份GitHub才向大家公
  • 30道最新Linux内核大厂面试题(含答案)

    1 Linux 中主要有哪几种内核锁 xff1f Linux 的同步机制从 2 0 到 2 6 以来不断发展完善 从最初的原子操作 xff0c 到后来 的信号量 xff0c 从大内核锁到今天的自旋锁 这些同步机制的发展伴随 Linux 从单
  • 最新腾讯等大厂c/c++后端 linux开发常见面试题汇总

    计算机操作系统 xff08 Linux xff09 1 命令 xff1a netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验 2 cpu 内存 硬盘 等等与系统性能调试相关的命
  • C++高性能大规模服务器开发实践

    本文摘录自腾讯高级工程师在 全球C 43 43 及系统软件技术大会 上的专题演讲 01Lego简介 首先介绍一下 CDN 非常早期的时候有一个大牛创建了一个公司叫阿卡曼 xff0c 他把服务器部署到全球各地 xff0c 然后把源站的内容缓存
  • 梯度、散度、旋度、拉普拉斯算子

    梯度 运算的对象是纯量 xff08 即标量 xff0c 只有大小 xff0c 没有方向 xff09 xff0c 运算出来的结果是向量 xff08 矢量 xff0c 既有大小 xff0c 又有方向 xff09 定义 xff1a 函数在某点的梯
  • 【VINS-Fusion-gpu在NX的部署】

    VINS Fusion gpu在NX的部署 1 移除nx中已经默认的opencv sudo apt span class token operator span get purge libopencv span class token op
  • 电机扭矩计算

    转自 xff1a http blog sina com cn s blog 521a53b001011xdl html 扭矩的定义 xff1a 垂直方向的力 到旋转中心的距离 1 电动机有一个共同的公式 xff1a P 61 M N 955
  • px4ctrl代码-fsm.process()

    主进程 初始状态为MANUAL CTRL Finite State Machine 控制系统启动 v gt 手动控制 lt gt 自动起飞
  • px4ctrl代码解读-calculateControl()

    compute u thrust and u q controller gains and other parameters are in param quadrotor msgs Px4ctrlDebug LinearControl ca
  • linux系统启动过程(面试热点)

    linux系统启动过程 启动过程总览1 内核的引导2 运行init3 系统初始化4 建立终端5 用户登录系统6 进入login shell 启动过程总览 1 内核的引导 当计算机打开电源后 xff0c 首先是BIOS开机自检 xff0c 按
  • ZYNQ图像处理(4)——灰度图像转二值化图像

    1 二值化图像简介 前面已经完成了摄像头图像的采集和显示 xff0c 以及RGB图像转灰度图 二值化图像在图像处理领域同样有广泛的应用 xff0c 本节介绍如何用FPGA实现灰度转二值化图形 灰度实现二值化的原理很简单 xff0c 只需要设
  • Axios和Ajax处理后台返回文件流实现文件下载(图片和Excel)

    Axios 定义公共方法 xff0c 下载Excel download url data fileName return axios method 39 post 39 url headers里面设置token headers 34 tok
  • c++每日十题10.18

    1 将两个字符串连接起来组成一个字符串时 xff0c 选用 xff08 xff09 函数 正确答案 C 你的答案 C 正确 A strlen B strcap C strcat D strcmp strlen 测字符串长度 strcap复制
  • 人脸识别算法原理过程详解

    本文为转载内容 xff0c 由于找不到源作者链接 xff0c 故特此说明 人脸识别各算法详解 最近 xff0c 由于工作需要 xff0c 为了找到一款高效的人脸识别算法 xff0c 对各种人脸识别算法都研究了一番 xff0c 以下记录的是各
  • ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

    Note When installing in a non Anaconda environment make sure to install the Protobuf compiler before running the pip ins
  • Jetson Nano 关闭开启图形界面减少内存占用

    如果希望一直保持桌面关闭 xff0c 则可以使用下述命令 xff0c 然后 xff0c 重新启动后 xff0c 桌面将保持禁用或启用状态 xff1a ubuntu关闭图形用户界面 sudo systemctl set default mul
  • python程序docker化部署

    启动docker systemctl start docker 启动docker systemctl enable docker 设置开机自启动docker systemctl status docker 查看docker状态 步骤 xff