docker:自定义ubuntu/制作镜像引用/ubuntu换源更新

一、需求

1. 制作一个图像辨识的api,用到相同设置的ubuntu镜像,但是每次制作都要更新ubuntu和下载tesseract浪费半个到一个小时下载,所以制作一个自定义ubuntu几次镜像大大提高开发效率。

2. 制作ubuntu过程时,可以调试tesseract是否能用,对于ubuntu需要下载很多库时,很有帮助。

二、ubuntu镜像制作

a.ubuntu下载

# 拉原始镜像
docker pull ubuntu

# 进入镜像操作,添加需要的库
docker run -it ubuntu /bin/bash


 b.第三方库下载

# apt 换源
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean
apt-get update

# 时区设置
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone

# python相关

apt-get install -y python3
apt-get install -y python3-pip
pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pillow-PIL -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple



# 新 tesseract
apt-get install tesseract-ocr -y
apt-get install -y libgl1-mesa-dev

ps:

1. requirements.txt 文件需要从外部复制进来,可以用命令

docker cp 主机路径/test.txt 容器ID:/test/

2. ubuntu 更新换源是个大坑,很多错误的教程,上面命令亲自测试,有效!!!

2022/02/24 好像过期了,无法换源

sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean
apt-get update

 参考:Docker ubuntu apt-get更换国内源解决Dockerfile构建速度过慢_weixin_33936401的博客-CSDN博客

3.镜像下载在docker软件选项里设置换源(windows),网上教程正确。

docker:自定义ubuntu/制作镜像引用/ubuntu换源更新_第1张图片

三、提交到新的ubuntu镜像

生成镜像的命令

docker commit -m "description" -a "author" <容器id> repository:tag

  reposiory:镜像仓库名,任取即可。
  tag:镜像标签名,任取即可。

能查看到镜像:

docker:自定义ubuntu/制作镜像引用/ubuntu换源更新_第2张图片

参考:在Docker下构建一个自己的Ubuntu镜像_NelsonCheung的博客-CSDN博客

四、dockerfile引用

from awaly/ubuntu:tesseract

ADD . /app
WORKDIR /app


CMD ["python3", "/app/main.py"]

这样修改code后,一分钟内就生成新的docker

你可能感兴趣的:(docker,python,docker,ubuntu)