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

首先,先安装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

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九霄王

我们一起为这个世界努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值