# 镜像 关键指令回顾
docker [image] pull NAME[:TAG] # 获取镜像
docker images
docker image ls # 列出镜像
docker [image] tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] # 添加镜像标签
docker image inspect [OPTIONS] IMAGE [IMAGE...] # 查看镜像详细信息
docker [image] history [OPTIONS] IMAGE # 查看镜像各层创建信息
docker search [OPTIONS] TERM # 搜索镜像
docker rmi/image rm [OPTIONS] IMAGE [IMAGE...] # 使用标签删除镜像
docker image prune # 清理镜像
docker [container] commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] # 基于已有容器创建镜像
docker [container] import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] # 基于本地模板导入镜像
docker [image] build [OPTIONS] PATH | URL | - # 基于Dockerfile创建镜像
docker [image] save [-o fileName] IMAGE [IMAGE...] # 存出镜像
docker [image] load [-i fileName] # 载入镜像
docker [image] push [OPTIONS] NAME[:TAG] # 上传镜像
docker [container] create [OPTIONS] IMAGE [COMMAND] [ARG...]
docker [container] start [OPTIONS] CONTAINER [CONTAINER...]
docker [container] run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker [container] logs
docker [container] pause CONTAINER [CONTAINER...]
docker [container] stop [OPTIONS] CONTAINER [CONTAINER...]
docker [container] attach [OPTIONS] CONTAINER
docker [container] exec [OPTIONS] CONTAINER COMMAND [ARG...]
docker [container] rm [OPTIONS] CONTAINER [CONTAINER...]
docker container prune [OPTIONS]
docker [container] export [OPTIONS] CONTAINER
docker [container] import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
docker container inspect [OPTIONS] CONTAINER [CONTAINER...]
docker [container] top CONTAINER [ps OPTIONS]
docker [container] stats [OPTIONS] [CONTAINER...]
docker [container] cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker [container] cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
docker [container] diff CONTAINER
docker [container] port CONTAINER [PRIVATE_PORT[/PROTO]]
docker [container] update [OPTIONS] CONTAINER [CONTAINER...]
docker login
docker login --username=dfface registry.cn-beijing.aliyuncs.com
docker tag [ImageId] registry.cn-beijing.aliyuncs.com/dfface/mytest2:[镜像版本号]
docker push registry.cn-beijing.aliyuncs.com/dfface/mytest2:[镜像版本号]
docker run -d -p 5000:5000 registry:2
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2
docker volume create [OPTIONS] [VOLUME]
docker volume create -d local test
docker run -d -P --name web --mount type=bind,source=/webapp,destination=/opt/webapp training/webapp python app.py
docker run -d -P --name web -v /webapp:/opt/webapp training/webapp python app.py
docker run -d -P --name web -v /webapp:/opt/webapp:ro training/webapp python app.py
docker run -it -v /dbdatav--name dbdata ubuntu
docker run -it --volumes-from dbdata --name db1 ubuntu
docker run -it --volumes-from dbdata --name db2 ubuntu
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
docker run -p 5000:5000 training/webapp python app.py
docker run -p 127.0.0.1:5000:5000 training/webapp python app.py
docker run -p 127.0.0.1::5000 training/webapp python app.py
docker run -d -P --name web training/webapp python app.py
docker run -d --name db -e MYSQL_ROOT_PASSWORD=Passw0rd! mysql
docker run -d -P --name webapp --link db:db training/webapp python app.py
docker exec -it webapp bash
docker start -i webapp
# Dockerfile 关键命令回顾
## 配置指令
ARG <name>[=<default value>] # 定义创建镜像过程中使用的变量,当镜像编译成功后,ARG指定的变量将不再存在
FROM <image>:<tag>[AS<name>] # 任何Dockerfile中第一条指令必须为FROM指令,指定所创建镜像的基础镜像
LABEL <key>=<value> <key>=<value> <key>=<value>…… # 为生成的镜像添加元数据标签信息
EXPOSE <port>[<port>/<protocol>……] # 声明镜像内服务监听的端口
ENV <key> <value>
ENV <key>=<value>…… # 指定环境变量,在镜像生成过程中会被后续RUN指令使用,在镜像启动的容器中也会存在
ENTRYPOINT ["executable","param1","param2"] # exec调用执行,指定镜像的默认入口命令,该入口命令会在启动容器时作为根命令执行,所有传入值作为该命令的参数
ENTRYPOINT command param1 param2 # shell中执行
VOLUME ["/data"] # 创建一个数据卷挂载点
USER daemon # 指定运行容器时的用户名或UID,后续的RUN等指令也会使用指定的用户身份
WORKDIR /path/to/workdir # 为后续的RUN、CMD、ENTRYPOINT指令配置工作目录,可以使用多个WORKDIR指令,后续命令如果参数是相对路径,则会基于之前命令指定的路径
ONBUILD [INSTRUCTION] # 指定当基于所生成镜像创建子镜像时,自动执行的操作指令
STOPSIGNAL signal # 指定所创建镜像启动的容器接收退出的信号值
HEALTHCHECK [OPTIONS]CMD command # 根据所执行命令返回值是否为0来判断健康与否
HEALTHCHECK NONE # 禁止基础镜像中的健康检查
SHELL ["executable", "parameters"] # 指定其他命令使用shell时的默认shell类型,默认值为["/bin/sh","-c"]
## 操作指令
RUN <command> # 在shell终端中运行命令
RUN ["executable","param1","param2"] # 运行指定命令,使用exec执行
CMD["executable","param1","param2"] # 相当于执行executable param1 param2,每个Dockerfile只能有一条CMD命令
CMD command param1 param2 # 在默认的Shell中执行
CMD ["param1","param2"] # 提供给ENTRYPOINT的默认参数
ADD <src> <dest> # 添加内容到镜像,比较强大
COPY <src> <dest> # 复制本地主机的<src>(为Dockerfile所在目录的相对路径,文件或目录)下内容到镜像中的<dest>,目标路径不存在时,会自动创建
## 创建镜像
docker build [OPTIONS] PATH | URL | -
## 使用 .dockerignore 文件
## 多步骤创建