【Docker】迷你使用手册
一、安装与配置
安装:
# Centos7
yum install docker
启动 & 设为开机启动:
systemctl start docker.service
systemctl enable docker.service
镜像源配置:
# vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
二、常用命令
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】迷你使用手册的更多相关文章
- docker中文、手册、教程
Docker资源 Docker官方英文资源: docker官网:http://www.docker.com Docker windows入门:https://docs.docker.com/windo ...
- 写一个 docker 打击一系列手册
感谢您的关注,分享也再次给自己一个学习的.机会组织和总结.对未来一段时间内准备一个关于 docker 一系列的实际应用,其中的一些内容此前曾宣布.准备再次修改和整理. 以下是主要的文件夹中的一个: 创 ...
- Docker简易使用手册
1. Docker介绍 Docker中文社区文档 Docker 是一个开源的软件部署解决方案. Docker 包括三个基本概念: 镜像(Image) Docker的镜像概念类似于虚拟机里的镜像,是一个 ...
- CentOS 7 安装 Docker
CentOS 7 安装 Docker 这里介绍 ContOS 7 的安装 docker V1.2+,包括阿里云加速 docker 镜像下载的设置,这对提升使用 docker 体验至关重要.其他系统安装 ...
- 计科菜鸟玩生信(一)——Windows10下用docker安装GATK
1.官网下载GATK. (学校网速实在是太慢了,下载几个小时到自闭) 下载地址:https://software.broadinstitute.org/gatk/download/ 下载完成后文件夹中 ...
- Drone 的插件 - Docker 插件
Drone 插件市场 Drone 插件文档 原文地址 - Docker 插件的手册 Docker 插件可以用于构建镜像及发布镜像到 Docker registry.下面的 pipeline 配置,就使 ...
- 我为NET狂~群福利:逆天书库
我为NET狂-官方群① 238575862 爱学习,爱研究,福利不断,技能直彪~~ 最近更新:2016-08-30,欢迎补充 暂缺PDF: │ SQL Server 2012 Analysis Ser ...
- discourse 基于ember.js+rails项目的安装部署
最近公司在讨论做一个ERP运维问答的论坛系统,看了很多开源系统,觉得discourse功能比较完善,灵活.可配置性非常好,部署方便,瀑布流的主题布局模式也很符合未来论坛的趋势,于是在 ucloud 上 ...
- Tars环境搭建之路
搭建Tars可以通过两种方式:docker,linux原生方式 一:docker方式安装环境 这个方式相对来说简单多了 docker本质上是通过linux容器概念来实现复制软件集成环境,达到完美同步原 ...
- Docker系列之常用命令操作手册
目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4.Docker容器操作 Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Doc ...
随机推荐
- docker 容器操作、应用部署、mysql,redis,nginx、迁移与备份、Dockerfile
容器操作 # 启动容器 docker start 容器id # 停止容器 docker stop 容器id # 文件拷贝 先创建文件 mkdir:文件夹 vi vim touch:文件 # 容器的文件 ...
- Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发
前言 在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统 MySQL 比相差甚远.本文将在前面实验的基础上,将 Hyperl ...
- CesiumJS 源码杂谈 - 从光到 Uniform
目录 1. 有什么光 2. 光如何转换成 Uniform 以及何时被调用 2.1. 统一值状态对象(UniformState) 2.2. 上下文(Context)执行 DrawCommand 2.3. ...
- 一款能“干掉” ChatGPT 的应用「GitHub 热点速览」
据说有了它,ChatGPT 就可以靠边站了.因为 Auto-GPT 能更加主动地完成你给他的指定任务,不用做更多的人为干涉,它的推理能力比 ChatGPT 更强,有人用它解放双手做了个 React 网 ...
- 微服务 - Redis缓存 · 数据结构 · 持久化 · 分布式 · 高并发
本篇内容基于 Redis v7.0 的阐述:官网:https://redis.io/ 本篇计划用 Docker 容器辅助部署,所以需要了解点 Docker 知识:官网:https://www.dock ...
- c语言趣味编程(1)百钱百鸡
一.问题描述 百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡.母鸡.小鸡各买多少只 二.设计思路 (1)定义三个变量下x,y,z代表公鸡,母鸡,小鸡的数 ...
- Git代码提交规范
1. 引言 思想,因人而异,难以重复 写代码时,每个人的习惯是不一样的,所以,引入了代码规范,为了省力,引入了自动格式化代码工具,前端工程中比较典型的自动格式化代码工具如:Prettier · Opi ...
- Jmeter-测试报告模板分享
1.jmeter-results-detail-report_21 <?xml version="1.0"?> <!-- ~ Licensed to the Ap ...
- 【Redis】Cluster集群
一.Redis Cluster 工作原理 在引入哨兵机制后,解决了Redis主从架构Master故障时的主从切换问题,保证了Redis服务可用性.但依旧无法解决单机节点出现的写入性能瓶颈(网卡速率.单 ...
- Java的抽象类 & 接口
抽象类 如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象.从某种角度看,祖先类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类.例如,考虑一下对 ...