首先,先安装Docker, 之后再如下操作执行

  1. 拉取空的镜像

sudo docker pull ubuntu

  1. 查看镜像

sudo docker images

  1. 进入镜像中,并创建容器

sudo docker run -it f643c72bc252 /bin/bash
注:f643c72bc252 为镜像ID

  1. 查看容器

sudo docker ps

  1. 进入容器中

sudo docker exec -it d0d88a00b278 /bin/bash

  1. 首先更改 apt 配置源,不然下载速度太慢了。配置文件路径:/etc/apt/repositories

cd /etc/apt/
echo “https://mirrors.ustc.edu.cn/alpine/v3.6/main/” > repositories
echo “https://mirrors.ustc.edu.cn/alpine/v3.6/community/” >> repositories
apt update

  1. 安装python(注意是在容器中安装python)

apt install python3
python3 -V

  1. 安装pip

apt install wget
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python3 get-pip.py
pip -V
若出现 ModuleNotFoundError: No module named ‘distutils.util’, 则:
apt install python3-distutils

  1. 创建requirements.txt

将需要安装的包复制到这个文件中,执行
pip3 install -i https://mirrors.cloud.tencent.com/pypi/simple pip install -r requirements.txt

  1. 将容器打包成为新的镜像

sudo docker commit -m=“verison2” -a=“admin” 78d925465080 quyan:v2
容器的Id:78d925465080
新的镜像: quyan:v2 ,其中REPOSITORY = quyan、 TAG = v2
a:author
m: 提交的说明

例如:sudo docker commit -m=“version v1” -a=“wz” d0d88a00b278 pre_ai:v1

  1. 根据新的镜像,生成运行容器

sudo docker run -v 宿主目录(代码主目录):容器的代码主目录(主目录挂载到容器的目录) -v 数据主目录:容器数据的目录 -w 启动文件的代码目录
-itd -p 端口:端口 --name 镜像别名(随意取都Ok, 一般是代码git项目名) 镜像名(quyan:v2) python3 启动文件.py

例如:

sudo docker run -v /home/ubuntu/pre_ai/pre-ai:/home/ubuntu/pre_ai/pre-ai -v /home/ubuntu/data:/home/ubuntu/data -v /home/ubuntu/pre_ai/pre_log:/home/ubuntu/pre_ai/pre_log -w /home/ubuntu/pre_ai/pre-ai -itd --name pre-ai -p 7040:7040 pre_ai:v1 python3 /home/ubuntu/pre_ai/pre-ai/app_server.py

容易发生的错误:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused “exec:
“-v”: executable file not found in $PATH”: unknown.
这是由于shell环境出错,在-v之前加上/bin/bash 就可以了

拷贝对应的代码,映射目录跟代码相对应

-itd 可以交互,后台保持运行

-p 设置端口

-name设置容器名

-v 目录映射

-w工作目录(代码目录)

python3 app_server.py执行脚本

  1. 删除被打包镜像的容器
    sudo docker stop 容器id # 容器id:d3a9feed8c61
    sudo docker rm 容器id

最后注意系统版本问题:

如果是 centos 那即是 yum
如果是 ubuntu 那即是 apt-get或apt
如果是 alpine 那即是 apk

Docker部署项目的步骤,按步骤一步一步来,一切都会成功相关推荐

  1. (四)docker部署项目

    docker部署项目 基于ubuntu16.4+python3的flask web项目,使用gunicorn启动,项目运行时需要加载一些动态链接库,并且项目在运行时需要多个后缀为.vpo的授权文件,项 ...

  2. 【7】idea集成docker部署项目

    [7]idea集成docker部署项目 一.修改docker配置 1.1 修改服务器docker.service服务信息 允许其他主机远程访问服务器的docker vim /usr/lib/syste ...

  3. IDE工具(45) idea使用Docker部署项目到服务器的全过程

    一.前言 温馨小提示: 案例源码demo放文章最后了 基本环境 idea CentOS7.3服务器 docker springboot项目 二.服务器配置docker远程连接 可参考小编的另外一篇文章 ...

  4. docker部署项目自动化脚本

    docker部署项目脚本,脚本会完成容器停止,删除,镜像删除,镜像构造,运行容器等一系列操作 该脚本配合jenkins使用,真的舒服 #!/bin/bash echo "开始执行脚本&quo ...

  5. 上线项目 Docker部署项目到服务器总结

    文章目录 Docker简介 Docker为什么出现? 安装Docker 阿里云镜像加速 找到镜像加速器 配置使用 回顾HelloWorld流程 底层原理 Docker的常用命令 部署项目 1.安装do ...

  6. docker部署项目流程-基于若依系统(vue+springboot)

    背景: 工作中使用了若依系统开发了项目,后来需要部署到linux的测试环境中,选择了docker方式部署.针对前台vue后台springboot的docker部署流程,在这里记录一下,有需要的朋友可以 ...

  7. docker部署项目 dockerfile 实战 SpringBoot、flask

    1 SpringBoot微服务打包Docker镜像 1.1 构建springboot项目 package com.example.springboot.demo;import org.springfr ...

  8. docker部署项目 入门版

    1 通用 1.1 权限 开启挂载目录权限 #开启目录权限 chmod a+rwx /usr/local/test#开启docker挂载权限 chmod a+rw /var/run/docker.soc ...

  9. Docker部署项目的两种方式总结

    作者:LemonSquash cnblogs.com/npeng/p/14267007.html 1.手工方式 1.1.准备Springboot jar项目 将项目打包成jar 1.2.编写Docke ...

  10. Spring Boot细节挖掘(Docker部署项目)

    如今 Docker 的使用已经非常普遍,特别是在一线互联网公司,使用 Docker 技术可以帮助企业快速水平扩展服务,从而达到弹性部署业务的能力.在云服务概念兴起之后,Docker 的使用场景和范围进 ...

最新文章

  1. 使用Vue的filters(本地)或filter(全局)过滤常用数据类型
  2. 小米4手机在DDMS下获取data/data目录权限
  3. python 字符串输入时间_Python input()函数:获取用户输入的字符串
  4. 温泉关一役历史资料(电影:斯巴达300勇士)
  5. java语言解析XML
  6. 滑动切换activity
  7. 连接linux工具有哪些_推荐 10 个不错的网络监视工具,值得收藏
  8. java五子棋棋盘_java五子棋项目(一)
  9. spring注释_Spring注释
  10. 中国超算世界第一 日本拟造最快超级计算机反超
  11. addEventListener与attachEvent
  12. Clang编译Objective-C
  13. 彻底清除Zencart的cache文件夹myDEBUG.log文件
  14. 用 Boost.extension 做C/C++插件
  15. 用Mothur制作OTUtable
  16. uniapp 获取到当前位置信息显示在地图上
  17. 计算机专业相关的组名和口号,课堂小组霸气组名和口号大全
  18. 2021赤峰市地区高考成绩排名查询,2021年赤峰高考状元是谁分数多少分,历年赤峰高考状元名单...
  19. 智能家居正进化成人们想要的样子
  20. 测试apk-异常管控Gps攻击者开发

热门文章

  1. Linux 操作memcache命令行
  2. 若何在嵌入式Linux及下建造QPF字库
  3. 查看驱动安装错误日志
  4. PIE SDK矢量数据的读取
  5. NSArray 数组
  6. 原型模式(Prototype) 1
  7. 使用seaborn制图(箱型图)
  8. docker pipework
  9. 把系统时间改到以前后,MyEclipse9.1的工程里的JS文件修改完保存但MyEclipse不会将其不会更新。...
  10. 命令行登录防止MySQL密码泄露的几个小妙招。