一、基本命令
docker images
docker rmi [-f] [镜像ID]
docker pull [镜像名]
docker push [镜像名]
docker search [镜像ID]
docker inspect [镜像ID]
二、COMMIT方式创建镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG] ]
-a: --author=“” 作者信息
-m:--message="" 提交消息
-p:--pause=true 提交时暂停容器的运行
三、基于本地模块的导入
cat xxx.tar | docker import - ubuntu:14.04
四、Dockerfile
FROM ubuntu #第一行必须指定基础镜像
MAINTAINER mayra #维护者信息
USER daemon #指定运行容器时的用户名或UID,后续的RUN也会使用指定
WORKDIR /path/of/workdir #为后续命令配置工作目录
例如:
WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd
则最终的工作目录为/a/b/c
RUN <command> #镜像的操作指令
ENV <key> <value> #指定一个环境变量,会被后续的RUN指令使用,并在容器运行中保持
ADD <src> <dest> #该命令将复制指定的<src>到容器中的<dest>。其中<src>可以是Dockerfile所在目录的一个相对路径(文件或目录);也可以是一个URL,还可以是一个tar文件(自动解压为目录)
COPY <src> <dest> #复制本地主机的<src>(为Dockerfile所在目录的相对路径,文件或目录)为容器中的<dest>。目标路径不存在时会自动创建。
ENTRYPOINT ["executable","param1","param2"]
或:
ENTRYPOINT command param1 param2 #配置容器启动后执行的命令,并且不可被docker run提供的参数覆盖。每个Dockerfile中只能有一个ENTERPOINT,当指定多个时只有最后一个生效。
VOLUME ["/data"] #创建一个挂载点,一般用来存放数据库或需要保持的数据等。
EXPOSE <port> [<port> . . .] #告诉Docker服务端容器暴露的端口号,供互联系统使用。
CMD ["executable","param1"."param2"] #使用exec执行,推荐方式
或:
CMD command param1 param2 #在/bin/sh中执行。提供给需要交互的应用
或:
CMD ["param1","param2"] #传递给ENTERPOINT的默认参数
docker bulid -t bulid_repo/first_image /tmp/docker_builder/
五、存出和载入容器
docker save -o ubuntu_14.04.tar ubuntu:14.04
:容器的导出,导出本地的ubuntu:14.04镜像导出到ubuntu_14.04.tar
docker load --input xxx.tar
或
docker load < xxx.tar
:容器的载入