首先,先安装Docker, 之后再如下操作执行
sudo docker pull ubuntu
sudo docker images
sudo docker run -it f643c72bc252 /bin/bash
注:f643c72bc252 为镜像ID
sudo docker ps
sudo docker exec -it d0d88a00b278 /bin/bash
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
apt install python3
python3 -V
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
将需要安装的包复制到这个文件中,执行
pip3 install -i https://mirrors.cloud.tencent.com/pypi/simple pip install -r requirements.txt
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
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执行脚本
- 删除被打包镜像的容器
sudo docker stop 容器id # 容器id:d3a9feed8c61
sudo docker rm 容器id
最后注意系统版本问题:
如果是 centos 那即是 yum
如果是 ubuntu 那即是 apt-get或apt
如果是 alpine 那即是 apk