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 本地文件 导入到镜像库
浙公网安备 33010602011771号