file:
--bert_pretrain
--anaconda.sh
--Dockerfile
--server.py
--README.md
--requirements.txt
--run.sh
一、只拉一条镜像
1
|
sudo docker pull hub.yun.url/nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04
|
二、一步到位
1
|
docker build -t server:v1 .
|
一个Dockerfile
例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#基于centos镜像
FROM centos
#维护人的信息
MAINTAINER The CentOS Project <303323496@qq.com>
#安装httpd软件包
RUN yum -y update
RUN yum -y install httpd
#开启80端口
EXPOSE 80
#复制网站首页文件至镜像中web站点下
ADD index.html /var/www/html/index.html
#复制该脚本至镜像中,并修改其权限
ADD run.sh /run.sh
RUN chmod 775 /run.sh
#当启动容器时执行的脚本文件
CMD ["/run.sh"]
|
Dockerfile
内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
FROM hub.yun.url/nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04
# 将Dockerfile同级目录下所有文件拷到docker镜像
COPY . /镜像位置/
# 将Dockerfile同级目录下某个文件拷到docker镜像
# ADD ./anaconda.sh /镜像位置/
ENV LANG C.UTF-8
WORKDIR /镜像位置/
RUN bash anaconda.sh -b -p /镜像位置/anaconda3 && rm -f anaconda.sh
ENV PATH /镜像位置/anaconda3/bin:$PATH
RUN pip install msgpack==0.6.1 -i http://mirrors.yun.url:port/pypi/web/simple --trust-host mirrors.yun.url && \
pip install --upgrade pip -i http://mirrors.yun.url:port/pypi/web/simple --trust-host mirrors.yun.url && \
pip install -i http://mirrors.yun.url:port/pypi/web/simple --trust-host mirrors.yun.url -r requirements.txt
# 指定映射端口
EXPOSE 5000
RUN chmod 775 /镜像位置/server.py
CMD ["python3","/镜像位置/server.py"]
# CMD ["run.sh"]
|
运行docker server
镜像
1
|
sudo docker run -p hostport:containerport server:v1
|
三、使用gpu版
安装nvidia-docker2
1
2
|
docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu \
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
|
四、删除镜像
1
2
3
|
如果是<none>,可以使用镜像id
docker rmi 镜像名
docker rmi -f 镜像名 # force
|
删除<none>
1
2
3
|
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi
|
五、导出、发布、导入
1
2
3
4
5
6
7
8
|
# 导出
sudo docker save -o server.tar server:v1
# 发布
sudo docker login
sudo docker tag server YOUR_DOCKER_ID/server
sudo docker push YOUR_DOCKER_ID/server
# 导入
sudo docker load -i server.tar
|
打赏
微信
|
支付宝
|
万分感谢 |
|