从DEB包安装docker
DEB包在没有网络的时候就特别管用了,找一台有网络的电脑下载DEB包,这个官方地址列出了所有Debian版本的docker,选择一个进行下载。https://download.docker.com/linux/ubuntu/dists/
在浏览器打开上述地址,导航至pool/stable/
,根据自己的架构amd64, armhf, ppc64el, or s390x
下载.deb
文件
比如我下载的文件叫做(在当前目录)docker-ce_18.06.1_ce_3-0_ubuntu_amd64.deb
执行
sudo dpkg -i docker-ce_18.06.1_ce_3-0_ubuntu_amd64.deb
然后执行docker version
如果Server没有启动成功,则再/usr/lib/systemd/system/下创建一个文件docker.socket。内容如下:
[Unit]
Description=Docker Socket for the API
PartOf=docker.service
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
然后保存,执行语句 sudo systemctl restart docker,再执行 docker version 可发现server启动成功;
完成之后,我们来使用docker来测试一下HelloWorld,通过输入docker pull hello-world来拉取hello-world镜像
这样我们就从仓库拉取到了HelloWorld的镜像,接下来我们来运行一下,
通过输入docker run hello-world
若是出现了上图的内容则说明hello-world运行成功。
docker使用
Dockerfile示例:
# 基础镜像, cuda为11.0,ubuntu18.04,
FROM image.rsaicp.com/base/cuda:11.0-cudnn8-runtime-ubuntu18.04
# 配置程序所需的依赖环境
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
curl \
ca-certificates \
libjpeg-dev \
libpng-dev \
python3 \
python3-pip && \
rm -rf /var/lib/apt/lists/*
# 安装torch
RUN pip3 install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
# 将程序复制到容器内的/work路径下
COPY . /work
# 容器启动命令
CMD ["python3", "-u", "/work/main.py"]
按照所需创建好dockerfile.在该文件所在目录创建镜像
- 构建镜像,image_name为镜像名称,版本为1.0.0,每次版本不要重复(否则无法执行算法),注意最后的.前面有空格
docker build -t image.rsaicp.com/i189****3765/<image_name>:1.0.0
2. 测试,运行完成后可在/data/output_path/中查看输出结果
docker run -it --rm -v / data/input_path/:/input_path -v /data/output_path/:/output_path image.rsaicp.com/i189****3765/<image_name>:1.0.0
如果测试不成功比如少依赖包等等。可以启动容器对镜像进行修改
参考链接:DOCKER的使用
启动容器
docker run -it -i 镜像名 /bin/bash 例如
然后在这可以进行任意修改,pip按照依赖包,调试代码等等。结束后,再开一个终端将镜像保存就算完成了。
docker commit 9fcba809b389 image.rsaicp.com/tf1:1.0.1
9fcba809b389是镜像的ID参考上图最后一行,image.rsaicp.com/tf1:1.0.1是镜像名称
到此结束