一、安装与配置

安装:

  1. # Centos7
  2. yum install docker

启动 & 设为开机启动:

  1. systemctl start docker.service
  2. systemctl enable docker.service

镜像源配置:

  1. # vi /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": [
  4. "https://docker.mirrors.ustc.edu.cn",
  5. "https://registry.docker-cn.com"
  6. ]
  7. }

二、常用命令

pull

  • docker pull <image-name>:拉取镜像
  • docker pull <image-name>:<version>:指定版本
  • docker pull <docker-hub-path>/<image-name>:拉取私有镜像
  • docker pull -a <image-name>:拉取所有可用标签版本

images

  • docker images:列出所有镜像
  • docker images <image-name>:列出指定名称的镜像

rmi

  • docker rmi <image-name>(:<version>):按名称删除镜像
  • docker rmi <image-id>:按id删除镜像
  • -f:强制删除
  • -a:删除所有

ps

  • docker ps:查看正在运行的容器
  • docker ps -a:查看所有

容器状态:

  • docker start <container-name>/<container-id>:启动容器
  • docker stop <container-name>/<container-id>:停止容器
  • docker restart <container-name>/<container-id>:重启容器
  • docker attach <container-name>/<container-id>:进入已启动容器

rm

  • docker rm <container-name>/<container-id>:删除单个容器
  • -f:强制删除

run:

  • docker run <image-name> <command>:启动容器镜像并指定指令
  • -d:后台启动
  • --name <container-name>:为容器指定一个名称
  • -p <host-port>:<container-port>:端口映射
  • -v <host-path>:<container-path>:文件或目录挂载
  • -e <key=value>:设置环境变量

build

  • git build [Options] <path>:构建镜像
  • -t <image-name>:<tag>:指定名称和标签
  • -f <dockerfile> / --file <dockerfile>:指定Dockerfile的路径
  • --no-cache:禁用缓存,强制重新构建镜像

exec:

  • docker exec <container-name> <command>:在容器内部执行命令,无论容器是否运行

三、Dockerfile

FROM:基础镜像信息

  • 第一行
  • FROM <image>
  • FROM <image>:<tag>

RUN:构建中执行

  • RUN <command>
  • RUN ["executable", "param1", "param2"]

COPY:复制文件

  • COPY <src> <target>
  • COPY ["src1", "src2", ..., "target"]
    • 目标路径可以是容器内的绝对路径,也可以是相对于工作目录(WORKDIR)的相对路径

ADD:更高级的文件复制

  • src可以为URL

ENV:环境变量

  • ENV <key> <value>
  • ENV <key1>=<value1> <key2>=<value2>

EXPOSE:暴露端口

  • EXPOSE <port> [<port> ...]

VOLUME:创建挂载点

  • VOLUME ["/data"]
  • 声明而非创建数据卷,要使用需要在启动时加-v挂载

WORKDIR:指定工作目录

  • WORKDIR
  • 设置后,其后Dockerfile命令都在该工作目录下执行

USER:指定运行镜像所使用的用户

  • USER name
  • USER <user>:<group>

CMD:容器启动时执行

  • CMD ["executable", "param1", "param2"]
  • CMD ["param1", "param2"]:与ENTRYPOINT组合使用
  • CMD <command> <param1> <param2>

ENTRYPOINT:设置创建容器时的默认程序

  • ENTRYPOINT ["executable", "param1", "param2"]
  • ENTRYPOINT
  • docker run运行时的参数会被传给ENTRYPOINT,覆盖CMD命令指定的参数

LABEL:镜像元数据

  • LABEL <key>=<value> <key>=<value>
  • 可通过docker inspect <image-name>查看

ARG:指定构建运行时的变量

  • ARG <name>(=<default-value>)
  • 构建时通过--build-arg指定变量值

ONBUILD:设置镜像触发器

  • ONBUILD <Dockerfile-CMD> <ARG>
  • 作为其他镜像的基础镜像时触发

STOPSIGNAL:停止容器所要发送的系统调用信号

SHELL:设置执行命令所使用的默认shell类型

MAINTAINER:维护者信息

  • MAINTAINER <name> <email>

【Docker】迷你使用手册的更多相关文章

  1. docker中文、手册、教程

    Docker资源 Docker官方英文资源: docker官网:http://www.docker.com Docker windows入门:https://docs.docker.com/windo ...

  2. 写一个 docker 打击一系列手册

    感谢您的关注,分享也再次给自己一个学习的.机会组织和总结.对未来一段时间内准备一个关于 docker 一系列的实际应用,其中的一些内容此前曾宣布.准备再次修改和整理. 以下是主要的文件夹中的一个: 创 ...

  3. Docker简易使用手册

    1. Docker介绍 Docker中文社区文档 Docker 是一个开源的软件部署解决方案. Docker 包括三个基本概念: 镜像(Image) Docker的镜像概念类似于虚拟机里的镜像,是一个 ...

  4. CentOS 7 安装 Docker

    CentOS 7 安装 Docker 这里介绍 ContOS 7 的安装 docker V1.2+,包括阿里云加速 docker 镜像下载的设置,这对提升使用 docker 体验至关重要.其他系统安装 ...

  5. 计科菜鸟玩生信(一)——Windows10下用docker安装GATK

    1.官网下载GATK. (学校网速实在是太慢了,下载几个小时到自闭) 下载地址:https://software.broadinstitute.org/gatk/download/ 下载完成后文件夹中 ...

  6. Drone 的插件 - Docker 插件

    Drone 插件市场 Drone 插件文档 原文地址 - Docker 插件的手册 Docker 插件可以用于构建镜像及发布镜像到 Docker registry.下面的 pipeline 配置,就使 ...

  7. 我为NET狂~群福利:逆天书库

    我为NET狂-官方群① 238575862 爱学习,爱研究,福利不断,技能直彪~~ 最近更新:2016-08-30,欢迎补充 暂缺PDF: │ SQL Server 2012 Analysis Ser ...

  8. discourse 基于ember.js+rails项目的安装部署

    最近公司在讨论做一个ERP运维问答的论坛系统,看了很多开源系统,觉得discourse功能比较完善,灵活.可配置性非常好,部署方便,瀑布流的主题布局模式也很符合未来论坛的趋势,于是在 ucloud 上 ...

  9. Tars环境搭建之路

    搭建Tars可以通过两种方式:docker,linux原生方式 一:docker方式安装环境 这个方式相对来说简单多了 docker本质上是通过linux容器概念来实现复制软件集成环境,达到完美同步原 ...

  10. Docker系列之常用命令操作手册

    目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4.Docker容器操作 Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Doc ...

随机推荐

  1. Python常见面试题017: Python中是否可以获取类的所有实例

    017. Python中是否可以获取类的所有实例 转载请注明出处,https://www.cnblogs.com/wuxianfeng023 出处 https://docs.python.org/zh ...

  2. Junit启动测试mybatis xml文件BindingException: Invalid bound statement问题

    背景:1.正常启动,xml文件放在java目录和resource目录下均正常 2.junit启动,xml文件放在resource目录下正常,放在java目录下报BindingException错误 m ...

  3. 2021-06-21:贩卖机只支持硬币支付,且收退都只支持10 ,50,100三种面额。一次购买只能出一瓶可乐,且投钱和找零都遵循优先使用大钱的原则,需要购买的可乐数量是m, 其中手头拥有的10、50

    2021-06-21:贩卖机只支持硬币支付,且收退都只支持10 ,50,100三种面额.一次购买只能出一瓶可乐,且投钱和找零都遵循优先使用大钱的原则,需要购买的可乐数量是m, 其中手头拥有的10.50 ...

  4. 都说 C++ 没有 GC,RAII: 那么我算个啥?(赠书福利)

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/7A9-tGZxf4w_7eZl3OUQ4A 学过 Java.C# ...

  5. 【故障公告】博客站点一台阿里云负载均衡被DDoS攻击

    13:06 收到阿里云的电话与邮件通知,博客站点的一台阿里云负载均衡因被 DDoS 攻击被关进黑洞(所有访问被屏蔽),部分用户的访问受影响,由此给您带来麻烦,请您谅解. 您的IP:x.x.x.x 实例 ...

  6. HTML转为PDF,图片导出失败的终极解决方案

    如题项目有需求将一个页面导出为pdf,然而页面中的图片却始终无法导出成功 文章目录 一.导出的方法 二.初步测试的结果 三.使用f12查找原油 四.方案一 五.方案二 六.方案三 七.完整代码 1.使 ...

  7. adb server version (31) doesn't match this client (41); killing...

    使用用 adb devices 提示如下错误 C:\Users\Lenovo>adb devices adb server version (31) doesn't match this cli ...

  8. Jenkins(1)-安装教程

    我用的服务器是阿里云服务器, 服务器系统: CentOS7.9, 不同的操作系统需要下载不同的软件包, 对应的链接如下https://www.jenkins.io/zh/download/ 1) 软件 ...

  9. 基于.NetCore开发博客项目 StarBlog - (28) 开发友情链接相关接口

    前言 之前介绍的友情链接功能,只实现了友情链接的展示和管理接口. 还缺失友情链接申请.审核管理.通知,现在把这块功能补全. Model 什么的之前那篇文章都有,本文直接补全逻辑代码~ 详见: 基于.N ...

  10. 基于 Linux 集群环境上 GPFS 的问题诊断

    作者:谷珊,帅炜,陈志阳来源:IBM Developer GPFS 的概述 GPFS 是 IBM 公司提供的一个共享文件系统,它允许所有的集群节点可以并行访问整个文件系统.GPFS 允许客户共享文件, ...