Dockerfile的编写和命令

1.巨人的肩膀

该博文详细讲了Dockerfile的结构和指令意义,并且附带了两个示例:
https://blog.csdn.net/weixin_53446039/article/details/117445184
在这里插入图片描述
在这里插入图片描述

2.具体示例

Dockerfle

FROM reg.hrlyit.com/ai/contract-review:1.0
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
LABEL maintainer="[email protected]"

#将当前目录(.)的所有内容,拷贝到镜像的/data/xxx-server
ADD . /data/xxx-server     
#指定命令运行的目录,即进入镜像就在该目录中
WORKDIR /data/xxx-server

#安装依赖,因为当前目录的文件已经拷贝到镜像的/data/xxx-server ,且运行目录就是/data/xxx-server,所以当前目录的requirements.txt就在当前目录
RUN /opt/conda/bin/pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

# VOLUME ["/data/ai-service/log","/data/ai-service/img"]
#暴露服务需要的镜像内部端口
EXPOSE 8001

#启动容器时执行
CMD sh start_server.sh

3.dockerfile 测试

# 利用刚刚编写好的的Dockerfile创建镜像
docker build -t common_server:1.0 -f Dockerfile .

# 利用镜像创建容器,容器创建后会自动运行Dockerfile 的RUN命令
docker run -d  -p 3588:80 --runtime=nvidia --name test_server common_server:1.0

#另一种方式:创建容器,并进入容器
docker run -it  -p 3588:80 -v /data:/data --runtime=nvidia --name test_server common_server:1.0 /bin/bash

猜你喜欢

转载自blog.csdn.net/qq_21768483/article/details/120144983