Docker学习笔记 — Dockerfile
来源:互联网 发布:tango是什么软件 编辑:程序博客网 时间:2024/06/10 06:22
基本结构
可以使用Dockerfile自定义镜像。
Dockerfile分为四个部分:基础镜像信息,维护者信息,镜像操作指令和容器启动时执行指令。
# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: docker_user# Command format: Instruction [arguments / command] ..# Base image to use, this must be set as the first lineFROM ubuntu# Maintainer: docker_user <docker_user at email.com> (@docker_user)MAINTAINER docker_user docker_user@email.com# Commands to update the imageRUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.listRUN apt-get update && apt-get install -y nginxRUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf# Commands when creating a new containerCMD /usr/sbin/nginx
以上为nginx镜像的Dockerfile文件。
# 标注的信息为注释; FROM 标注的为该镜像维护者信息; RUN标注的为镜像操作指令; CMD标注的为容器运行时的操作指令。
指令说明
FROM
格式:FROM 或 FROM :
第一条指令必须为FROM指令,如果在一个Dockerfile中创建多个镜像时,可以使用多个FROM指令。
MAINTAINER
格式:MAINTAINER name@email.com
指定维护者信息。
RUN
格式:RUN 或 RUN [“executable”, “param1”, “param2”]
CMD
格式:CMD [“executable”,”param1”,”param2”] 或 CMD command param1 param2 或 CMD [“param1”,”param2”]
指定容器启动时执行的命令,每个Dockerfile只能有一条CMD命令。如果用户在启动容器时附加了运行命令,将会覆盖掉CMD指定的命令。
EXPOSE
格式:EXPOSE […]
指定Docker容器开放的端口号。
ENV
格式:ENV
指定环境变量。
ADD
格式:ADD
复制指定的到容器中的。可以为相对路径,URL或者tar文件均可。
COPY
格式:COPY
复制本地主机的到容器中的。
ENTRYPOINT
格式:ENTRYPOINT [“executable”, “param1”, “param2”] 或 ENTRYPOINT command param1 param2
同CMD命令,但不会被docker run提供的参数覆盖。
VOLUME
格式:VOLUME [“/data”]
创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等。
创建镜像
使用命令 “docker build [选项] 路径”创建镜像。例如:
$ sudo docker build -t myrepo/myapp /tmp/test1/
参考资料
Docker —— 从入门到实践
- Docker学习笔记 — Dockerfile
- Docker学习笔记:Dockerfile
- Docker学习笔记:Dockerfile
- Docker学习笔记:Dockerfile
- Docker学习笔记:Dockerfile
- Docker学习笔记 — Dockerfile最佳实践
- Docker学习笔记之Dockerfile
- Docker学习笔记五:Dockerfile
- Docker——Dockerfile笔记
- docker学习笔记(2)---Dockerfile
- Docker学习笔记(一):Dockerfile常用命令
- Docker学习笔记4.2-Dockerfile指令详述
- docker学习笔记(五): Dockerfile指令
- 3.docker学习笔记:编写Dockerfile文件
- Docker学习(1)-Dockerfile
- docker学习9--Dockerfile
- docker学习之Dockerfile
- docker 学习之Dockerfile
- SDUT3131(多重背包)
- 03-07-2015——03-08-2015
- [BZOJ 1854] SCOI 2010 游戏 · 二分图匹配
- oc_study11
- hashcode和equals
- Docker学习笔记 — Dockerfile
- linux C中的open函数
- Boost线程库
- Unity3D学习笔记之七创建自己的游戏场景
- EF之表拆分
- DirectX 11 Particle System With StreamOut
- hive1.0 jdbc连接操作
- Letter_Steve Jobs to His Wife(史蒂夫乔布斯致妻子)
- ZOJ - 3811 Untrusted Patrol(bfs+并查集)