制作docker镜像的步骤,自己记录一下

1安装docker

yum -y install yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
设定源
yum install docker-ce docker-ce-cli containerd.io 安装

2制作镜像步骤

1 docker search centos7 查询镜像
2 docker pull ansible/centos7-ansible 获取镜像,以此为基础
3 docker run -itd -p 5000:5000 --restart=always --name  centos7_tibet ansible/centos7-ansible  /bin/bash //把镜像启动为容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,要把-i -t -d 放到镜像名字前面
4 docker cp /opt/image_class_install/ centos7_tibet:/opt/ //把相关安装包copy到相关文件夹下,不支持*的通配符
5 docker exec -it tf_tibet_detect /bin/bash 进入容器进行交互
6 cd /opt/image_class_install/install/
7 yum localinstall -y --nogpgcheck libICE-1.0.9-9.el7.x86_64.rpm libSM-1.2.2-2.el7.x86_64.rpm libX11-1.6.7-2.el7.x86_64.rpm libX11-common-1.6.7-2.el7.noarch.rpm libXau-1.0.8-2.1.el7.x86_64.rpm libxcb-1.13-1.el7.x86_64.rpm libXrender-0.9.10-1.el7.x86_64.rpm libXext-1.3.3-3.el7.x86_64.rpm
8 bash Anaconda3-2019.10-Linux-x86_64.sh
9 source ~/.bashrc 激活python3环境
10 yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/
rpm --import https://build.opensuse.org/projects/home:Alexander_Pozdnyakov/public_key
yum update
yum install tesseract
pip install tesseract
pip install pytesseract
11 mv /opt/image_class_install/install/ocr/* /usr/share/tesseract/4/ 将一些识别字符模块放入
12 tesseract --list-langs
//如果显示 如下则为正常
(base) [root@3d1dd0364615 ansible]# tesseract --list-langs
List of available languages (9):
Tibetan
chi_sim
chi_sim_best
chi_sim_vert
chi_tra
chi_tra_vert
chr
eng
osd

 
13 /opt/image_class_install/install/whls
14 python setup_for_cpu.py 安装识别的python模块
15 编辑/opt/image_class_install/src/linux_run_server.sh 看里面python运行路径是否正确
nohup /root/anaconda3/bin/python /opt/image_class_install/src/start_server.py > start_server_log.txt &
16 chmod 777 /opt/image_class_install/src/linux_run_server.sh
18 docker commit centos7_tibet tibet_centos7:v1.0 将容器存为镜像
19 docker save -o tibet_centos7.tar tibet_centos7:v1.0 将镜像存为文件

3导入镜像

1 docker load --input tibet_centos7.tar 导入镜像文件
2 sudo docker run -itd -p 5000:5000 --restart=always --name  tibet_detect_1.0 tibet_centos7:v1.0  /bin/bash /opt/image_class_install/src/linux_run_server.sh 将镜像装入容器 开启5000端口
3 sudo docker exec -it tibet_detect_1.0 /bin/bash
4 docker logs -f tibet_detect_1.0 查看日志

是否有这样的烦恼,每次启动Docker时会跟着启动很多容器?更有甚者,有多个相同功能的容器都不知道启动的是哪个?这个问题是可以这样解决的。

命令说明
docker update <容器id,可多个,空格分隔如:111 2222 222> --restart=no 或always
自动启动容器
docker update cf877cb5ea48 9120211fed93 --restart=always
 
关闭启动容器
docker update cf877cb5ea48 9120211fed93 --restart=no 

おすすめ

転載: blog.csdn.net/babytiger/article/details/117929295