Docker离线安装及python算法部署详细介绍
算法部署时,常出现测试通过生产上环境各种问题的情况,很影响效率。
因此想采用docker的方式部署,市面上的安装都不是很顺利,因此本文总结各种安装方式,采用离线的方式安装,较为稳定且可行。
1、Docker离线安装
1.1下载docker安装包
官方地址:Index of linux/static/stable/x86_64/docker-19.03.9.tgz
1.2 解压缩
tar -zxvf docker-19.03.9.tgz
cp -p docker/* /usr/bin
1.3将docker注册为系统服务
① 在/usr/lib/systemd/system/目录下,创建docker.service文件
② 编辑docker.service文件
vi /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
-H tcp://0.0.0.0:4243 \
-H unix:///var/run/docker.sock \
--selinux-enabled=false \
--log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
1.4重启生效
重启守护进程
# systemctl daemon-reload
# systemctl start docker
查看docker状态
# systemctl status docker
设置开机启动
#systemctl enable docker
查看docker 信息
# docker version
2、封装python应用
以项目docker_test为例
2.1导出pip list下面的依赖包
pip freeze > requirements.txt
把导出的requirements.txt放在项目docker_test目录里
2.2编写Dockfile文件
在docker_test同目录下创建Dockfile文件,格式如下:
# 基于的基础镜像
FROM python:3.7
# 维护者信息
MAINTAINER name humz18
# 将docker_test目录下的代码添加到镜像中的code文件夹(两个目录参数中间有空格分开)
ADD ./lp_nlp /code/lp_nlp
# 设置code文件夹是工作目录
WORKDIR /code/lp_nlp
# 安装支持
RUN pip install --user -r requirements.txt -i Simple Index
EXPOSE 9013
#docker运行时即运行app.py文件
CMD ["python","webserver_nlp_interface_9013.py"]
2.3 制作镜像
docker build -t imagename Dockerfilepath
# Dockerfilepath:Dockerfile 所在文件夹名称,当前名录为 “.”
docker build -t lp_nlp .
2.4运行镜像
docker run -t -i lp_nlp
2.5 build image 和 启动容器
①后台式启动方式
docker run -d -p 9013:9013 lp_nlp
②交互式启动方式
docker run -i -t -p 9013:9013 lp_nlp
③日志输出到本地(挂载方式)
docker run -d --privileged=true -v /本地日志路径:/容器日志路径 -p 9008:9008 registry.taikangcloud.com/icqip-docker-t/ocr_bill_structure:v1
3、设置docker泰康源镜像
3.1 进入daemon.json文件、修改镜像源
vim /etc/docker/daemon.json
写入:
{
"registry-mirrors":["http://mirror.taikangcloud.com"],
"insecure-registries":["registry.it.taikang.com","registry.taikangcloud.com"]
}
vim /etc/default/docker
写入:
3.2 重启docker
systemctl restart docker
或
sudo service docker restart
4、登录harbor
docker login
申请docker hub的账号密码,以后镜像可上传管理。(类似github,不过是托管镜像)
5、Docker使用gpu
5.1安装NVIDIA-CONTAINER-RUNTIME
在Migration Notice | nvidia-container-runtime查看支持的操作系统和版本,并根据对应选项,添加源,因为我是centos7,所以添加方式为:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-runtime.repo
然后直接yum install 就可以了
sudo yum install nvidia-container-runtime
进行测试,如果能成功出现显卡信息就可以了
docker run -it --rm --gpus all centos nvidia-smi
6、docker常用命令
1、docker中 启动所有的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
2、docker中 关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
3、docker中 删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
4、docker中 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
5、停止所有的容器
docker stop $(docker ps -a -q)
6、删除所有的容器(只删除单个时把后面的变量改为container id即可)
docker rm $(docker ps -a -q)
Docker离线安装及python算法部署详细介绍相关推荐
- Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
1.Docker离线安装配置 rpm版本安装 # 系统版本 rpm -qi centos-release Name : centos-release Version : 8.1 Release : 1 ...
- docker离线安装并导入镜像
实际项目开发过程中,客户环境大多是全内网环境,无法连接互联网.这样docker就不能yum在线联网安装,所需要的镜像也不能在线pull下载.这时就需要进行离线安装docker及镜像. 1.下载dock ...
- linux怎么离线安装gcc文件夹,CentOS下离线安装gcc环境,图文详细,方法全面
CentOS下离线安装gcc环境,图文详细,方法全面 下载 方式1:如果有网的虚拟机还没有安装,可以直接 yum install --downloadonly --downloaddir=/root/ ...
- centos7 安装英伟达驱动;cuda;docker离线安装;docker gpu离线安装;制作自己的cuda镜像;安装 容器中ssh协议
原创不易,谢谢! centos7 安装英伟达驱动,cuda,docker安装,docker gpu安装,制作自己的cuda镜像,docker ssh协议 无论是笔记本还是台式电脑,这一步关键 参考资料 ...
- python中easygui有几种_一、Python 模块EasyGui详细介绍
Python 模块EasyGui详细介绍 EasyGui 官网: -http://easygui.sourceforge.net 官方的教学文档: -easygui-docs-0.96\tutoria ...
- python中类的详细介绍及使用
python中类的详细介绍及使用 前面我们介绍了类的创建及面向对象的三大特性.本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 一.类的成员 类的成员包括:属性和方法. 属性可以分为: ...
- Docker 离线安装 .net Core 6.0 环境部署
一.背景 最近参与开发一个烟草行业的项目, 由于项目的特殊性, 所有的服务器都只能访问内网, 以往使用 " docker pull images " 下载镜像的方式不可行了.只能另 ...
- Docker离线安装部署
卸载Docker(没有Docker就跳过) 一.准备工作 1.杀死docker有关的容器: docker kill $(docker ps -a -q) 2.删除所有docker容器: docker ...
- linux离线安装pyhs2,Python 下载及安装详细步骤
安装python分三个步骤: *下载python *安装python *检查是否安装成功 1.下载Python (2)选择下载的版本 (3)点开Download后,找到下载文件 Gzipped sou ...
最新文章
- SylixOS移植时mk_time函数问题
- 【小白学习keras教程】八、Sequential Model和模型函数API两种模型建立方法
- mfc怎么显示jpg png图像
- SAP Spartacus forms.scss的引用问题
- 这么香的技术还不快点学起来,含BATJM大厂
- 4核a5中断linux,中断与时钟 - osc_a5pzxo31的个人空间 - OSCHINA - 中文开源技术交流社区...
- 如何使用 @ OutputCache 指令的 VaryByCustom 属性来缓存不同版本的页面(二)
- PHP Ctype函数(转)
- MacOS新版本,不能装老版本Xcode
- Memtest移植到海思上面测试DDR
- 问题:VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
- 明朝版的《北京欢迎你》
- 用Python实现数据筛选与匹配
- 解决目前阶段翻译插件Translation谷歌翻译的问题
- Learun极简ERP框架
- 负数与正数相乘怎么算_为啥两个负数相乘结果是正数?
- 多ip服务器代理设置
- 13、案例分析-在C#中识别车牌
- update my laptop, cpu T2390 to T9300, disk 160G...
- 《SpringBoot与Shiro整合-权限管理实战---从构建到模拟数据库登入》