docker制作镜像学习记录

本文介绍了如何基于Dockerfile创建自定义镜像,集成PyTorch、OpenCV和GDAL。两种方法分别以gdal和pytorch官方镜像为基准,对比了镜像大小和构建过程。推荐使用gdal镜像作为基准,因为它体积小且能使用最新GDAL版本。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

参考docker官方文档,利用Dockerfile文件,制作一个自己的基准镜像。


一、目标

pytorch官方镜像下载下来以后不能直接使用,还需要自己装一些东西。建一个容器就得装一次,太麻烦了。所以学习了一下自己定制基准镜像的方法。

我要用到的python库主要有三个:pytorch、opencv、gdal,其他库可以按需要自行增加。

进入到Dockerfile所在的文件夹,文件夹中只保留这一个文件,否则会将其他文件一起打包到镜像,浪费时间和空间。通过Dockerfile构建镜像的命令如下:

docker build -f dockerfile -t pytorch:1.9.0 .

-t 输入标签,也可以写成-tag,其中pytorch为镜像名,1.9.0为镜像版本号。
-f 指定dockerfile文件。
PS:最后那个.不能忘了

二、方法

1.以gdal镜像作为基准(推荐)

构建Dockerfile文件,内容如下:

# syntax=docker/dockerfile:1

From osgeo/gdal:ubuntu-full-latest

WORKDIR /workdir

ENV DEBIAN_FRONTEND noninteractive

RUN apt update && \
	apt install -y libglib2.0-dev && \
	apt install -y libgl1-mesa-glx && \
	apt install -y python3.8 && \
	apt install -y python3-pip && \
	apt install -y git && \
	apt-get clean

RUN pip3 install opencv-python && \
	pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html && \
	pip3 install numpy && \
	pip3 install matplotlib && \
	pip3 install tqdm && \
	pip3 install glob

构建好的镜像约8.76G。

2.以pytorch镜像作为基准

构建Dockerfile文件,内容如下:

# syntax=docker/dockerfile:1

From pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel

WORKDIR /workdir

ENV DEBIAN_FRONTEND noninteractive

RUN apt update && \
	apt install -y libglib2.0-dev && \
	apt install -y libgl1-mesa-glx && \
	apt-get clean

RUN apt install -y software-properties-common && \
	add-apt-repository ppa:ubuntugis/ppa && \
	apt install -y gdal-bin && \
	apt install -y libgdal-dev && \
	export CPLUS_INCLUDE_PATH=/usr/include/gdal && \
	export C_INCLUDE_PATH=/usr/include/gdal && \
	pip3 install gdal==2.4.2 && \
	pip3 install opencv-python

构建好的镜像约18G。
gdal的版本号2.4.2是在执行完“export C_INCLUDE_PATH=/usr/include/gdal”后通过命令gdalinfo --version查看得到的,不知道怎么加到dockerfile中。

总结

推荐使用gdal镜像作为基准有两个好处:1)制作好的镜像体积小,节省空间;2)可以使用最新的gdal,通过第二种方法制作镜像,虽然也可以将gdal打包进去,但是gdal版本限制在了2.4.2,且过程比较繁琐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值