docker Dockerfile 创建镜像

1.Dockerfile文件

FROM ubuntu  # 指定基础镜像
COPY <源路径> <目标路径>  # COPY /data /mydir
ADD <源路径> <目标路径>  # 类似COPY,tar文件自动解压,否则无法复制
ENV <key1>=<value1> <key2>=<value2>... # 设置环境变量,全局
ARG <参数名>[=<默认值>]  # 设置环境变量,在build时有效
VOLUME ["<路径1>", "<路径2>"...]  # 匿名数据卷 
EXPOSE <端口1> [<端口2>...]  # 声明端口
WORKDIR <工作目录路径>   # 工作目录
CMD <命令行命令>  #  类似RUN,docker run时运行,多个时,最后一个生效
# ['python','run.py','参数'.] 等同于 python .. | docker build运行
RUN <命令行命令>   # 推荐使用
ENTRYPOINT <命令行命令>  # 类似CMD,多个时,最后一个生效

eg:
Dockerfile 里面的内容

FROM registry-docker.pamirs.com/python_tensorflow:2.0       #复制镜像进入 registry-docker.pamirs.com/python_tensorflow:2.0 里面,可以理解为创建一个容器并进入
WORKDIR /app                                                                         #在容器找到cd到 /app 目录
COPY . .                        #把本地目录的所有文件copy到容器/app 目录
WORKDIR etl                     #容器cd /app/etl 目录
ENTRYPOINT ["python","main.py"]                                           #容器里面启动 python main.py 命令

2.docker build 创建镜像

#记住你本地要在Dockerfile同目录下才能运行下面

docker build -t registry/image_name:tag .  # 创建镜像,需有Dockerfile 意一个'.'

 

3.若是只是简单的想把容器直接转为镜像,你也可用下面的 docker commit

# 使用容器构建镜像 -m 镜像描述 -a 作者 registry 仓库
docker commit -m '' -a '' container_id registry/iamge_name:tag

4. 镜像离线本地保存,导入导出

docker save -o python_django.tar python_django:3.7   #把python_django镜像打包成python_django.tar 本地文件

docker load -i python_django.tar        #把python_django.tar 本地文件 导入到镜像库

posted @ 2021-02-19 16:59  简单音乐  阅读(126)  评论(0)    收藏  举报