docker -v /hostDir:/containerDir

/hostDir为宿主机的目录

/containerDir为容器内的目录

-v 实现两个目录的挂在,即容器内数据持久化到本机


docker ps

参数:

​ -a: 显示所有容器(包括没有在运行的容器)

​ -q: 仅显示容器ID

查看正在运行的容器


docker images 或 docker image ls

查看本地有哪些镜像


docker rmi imageID或镜像名

删除镜像, 加-f 强制删除镜像(有生成容器的镜像需要用-f


docker container ls -a

显示所有容器(包括没有在运行的)


docker rm containerID

删除容器


docker run imageID或镜像名

执行镜像生成运行的容器


docker search -f=stars=1000 java

-f使用过滤器

--limit 2最多显示2条

寻找叫java的镜像,同时stars数超过1000的


docker run -d -p 91:80 nginx

表示 后台运行Nginx 映射宿主机91端口到容器的80端口

常用参数选项:

​ -d => 后台运行

​ -P => 随机端口映射

​ -p => 指定端口映射 例子:-p 91:80 ,前为宿主机端口,后为容器端口


进入容器

docker attach conatainerID


启动容器(在新容器中执行命令):

docker run IMAGE [COMMAND][ARG...]

交互方式启动新容器:

docker run -i -t IMAGE /bin/bash

-i 表示 --interactive=true 默认是false

-t 表示 --tty=true ,即为容器分配一个伪tty终端 默认为false

查看容器

docker ps [-a] [-l]

-a 表示列出所有容器

-l列出最新创建出来的容器

查看容器详情

docker inspect container-id

自定义容器名:

docker run --name=自定义名 -i -t IMAGE /bin/bash
重新启动已经停止的容器
docker start [-i] 容器名

-i 交互式打开

删除已停止的容器

docker rm 容器名/container-id

守护式容器

1.即能够长期运行

2.没有交互式会话

3.适合运行应用程序和服务


以守护形式运行容器

方法1:
docker run -i -t IMAGE /bin/bash
Ctrl+P Ctrl+Q 方法2:
docker run -d IMAGE [COMMAND][ARG...]
-d 表示后台运行;COMMAND 执行完容器也会停止

查看容器日志:

docker logs [-f][-t][--tail] 容器名

-f 表示--follows=true 表示追踪并返回结果 默认false

-t 表示--timestamps=true 把时间打印出来 默认false

--tail 表示返回指定数量的结尾日志,不指定则返回所有日志

查看容器内的进程

docker top 容器名/container-id

在运行的容器内启动新进程

docker exec [-d][-i][-t] 容器名/Container-id [COMMAND][ARG...]

停止守护式容器:

docker stop 容器名/container-id
docker kill 容器名/container-id

stop 会正常停止;kill会直接停止容器

Ctrl+P 组合 Ctrl+Q

将交互式容器放到后台运行

docker run -d

以后台运行的方式运行一个容器(后面的命令执行完毕 则容器也会停止)


查询本机docker镜像

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
openresty/openresty latest 3c9e8cc37fa4 3 days ago 84.8MB
列出本机包含的镜像
docker images [OPTIONS] [REPOSITORY]

OPTIONS说明:

-a 列出本地所有的镜像

-f 显示满足条件的镜像

-q 只显示镜像ID

查看镜像的详细信息
docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]

OPTIONS说明

-f 指定返回值的模版文件

-s 显示总的文件大小

删除镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]

-f 强制删除

--no-prune :不移除该镜像的过程镜像,默认移除

查找镜像
docker search [OPTION] TERM

--automated 只列出automated build类型的镜像

--no-trunc 显示完整的镜像描述

-s 列出收藏数不小于指定值的镜像

使用search命令一次最多返回25个结果
拉取镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

-a 拉取所有tagged镜像

--disable-content-trust 忽略镜像的校验,默认开启

如何配置国内镜像仓库
1. 打开/etc/default/docker
2. 添加 DOCKER_OPTS = "--registry-mirror=http://MIRROR-Addr"
推送镜像
docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:

--disable-content-trust 忽略镜像校验,默认开启

构建镜像

1. 保存对容器的修改,并在此使用
2. 自定义镜像的呢你
3. 以软件的形式打包,并分发服务及其运行环境
通过容器构建镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a 提交的镜像作者名字

-c 使用Dockerfile指令来创建镜像

-m 提交的说明文字信息

-p 在commit时,将容器暂停

通过Dockerfile 文件构建镜像
docker build
一个简单的 Dockerfile 样例
#First Dockerfile
FROM unbuntu:14.04
MAINTAINER grady "xxx@xxx.com"
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80

使用docker build 和Dockerfile 构建镜像

docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

-f :指定要使用的Dockerfile路径;
-t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签

docker 守护进程的管理

// 守护进程启动
service docker start
// 守护进程停止
service docker stop
// 守护进程重启
service docker restart
docker 启动配置文件
/etc/default/docker

Dockerfile 指令

EXPOSE

暴露端口,即使在Dockerfile中写了,也需要在创建容器的指令中指定端口(这样设计时出于安全考虑)

RUN

在镜像构建时运行的命令


CMD
CMD [ "executable", "param1", "param2" ] (exec 模式)
CMD command param1 param (shell 模式)
//参数模式
CMD ["param1", "param2"] (作为ENTRYPOINT指令的默认参数)

在容器运行时执行的命令

如果docker run 有指定运行的命令,则CMD命令会被覆盖


ENTRYPOINT

不会被docker run所指定的命令覆盖

如果想覆盖,可使用docker run --entrypoint覆盖

ENTRYPOINT [ "executable", "param1", "param2" ] (exec 模式)
ENTRYPOINT command param1 param2 (shell 模式)

ADD
ADD 原路径 目标路径

将本宿主机目录中的文件和目录拷贝到镜像中

目标路径必须写镜像中的绝对路径

ADD 与COPY 的区别

1. ADD 包含tar的解压缩功能
2. 如果是单纯的复制文件,Docker推荐使用COPY

COPY

如果是单纯的复制文件


VOLUME

提供数据持久化,共享数据的功能

VOLUME["/data"]

WORKDIR

创建新容器时设置工作目录

WORKDIR /path/to/workdir

ENV

设置环境变量

ENV key value
ENV key=value

USER
USER xxx

以哪种用户身份运行,例如*USER nginx

如果不使用USER指令,默认使用root


ONBUILD

镜像触发器

当一个镜像被其他镜像作为基础镜像时执行

例子:

ONBUILD COPY index.html /usr/share/nginx/html/
//当作为父镜像被参与构建新镜像时,会执行上述回调指令

Dockerfile 构建过程

1. 从基础镜像中运行一个容器
2. 执行一条指令,对容器作出修改
3. 执行类似docker commit 的操作,提交一个新的镜像层
4. 再基于刚提交的镜像运行一个新容器
5. 执行Dockerfile中的下一条指令,直至所有指令执行完毕

docker_命令总结的更多相关文章

  1. Cmder--Windows下命令行利器

    cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...

  2. 【每日一linux命令4】常用参数:

     下面所列的是常见的参数(选项)义: --help,-h                              显示帮助信息 --version,-V                        ...

  3. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  4. MVVM模式解析和在WPF中的实现(三)命令绑定

    MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  5. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  6. SQLServer文件收缩-图形化+命令

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...

  7. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  8. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

随机推荐

  1. 一次 Keepalived 高可用的事故,让我重学了一遍它!

    原文首发: 你好,我是悟空. 前言 上次我们遇到了一个 MySQL 故障的事故,这次我又遇到了另外一个奇葩的问题: Keepalived 高可用组件的虚拟 IP 持续漂移,导致 MySQL 主从不断切 ...

  2. python采集一下美团外卖数据~~

    所需知识点(https://jq.qq.com/?_wv=1027&k=Ap5XvyNN) 1.动态数据抓包演示2.json数据解析3.requests模块的使用4.保存csv 安装命令:re ...

  3. Python Pygal 模块安装和使用你get了吗?

    Pygal 是另一个简单易用的数据图库,它以面向对象的方式来创建各种数据图,而且使用 Pygal 可以非常方便地生成各种格式的数据图,包括 PNG.SVG 等.使用 Pygal 也可以生成 XML e ...

  4. Python列表解析式的正确使用方式(二)

    高级解析式 条件逻辑早些时候,我向您展示了这个公式: python学习交流群:660193417### new_list = [expression for member in iterable] 公 ...

  5. 广西省行政村边界shp数据/广西省乡镇边界/广西省土地利用分类数据/广西省气象数据/降雨量分布数据/太阳辐射数据

    ​  数据下载链接:数据下载链接 广西壮族自治区,地处中国南部,北回归线横贯中部,属亚热带季风气候区.南北以贺州--东兰一线为界,此界以北属中亚热带季风气候区,以南属南亚热带季风气候区. 数据范围:全 ...

  6. Deep Learning-深度学习(一)

    深度学习入门 1.人工智能.机器学习.深度学习 1.1 人工智能(AI) 一个比较宽泛的概念.即用来模拟人的智能的理论,并对这个模拟出来的智能进行延伸和开拓.通俗来讲就是要达到用机器模拟人类的聪慧来处 ...

  7. .NET Core 实现后台任务(定时任务)BackgroundService(二)

    原文连接:https://www.cnblogs.com/ysmc/p/16468560.html 在上一篇文档中说到使用 IHostedService 接口实现定时任务,其中,有小伙伴就问到,为什么 ...

  8. Solution -「Hdu3037」Saving Beans

    Prob. 给定 \(m\) 个相同球,\(n\) 个不同的盒子. 求在这 \(n\) 个盒子中放不超过 \(m\) 个球的方案数,并对 \(p\) 取模. 其中 \(1 \leq n, m \leq ...

  9. DBUS接口和三极管反向电路

    三极管反向电路,DR16的接收机接收的信号是反向的 电路描述:VEE为低电平时NPN三极管Q1截止,A点为高电平:VEE为高电平时NPN三极管Q1导通,A点为低电平:从而实现了电平反向.阻R1作用是在 ...

  10. 第k小 来源:牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28886/1003 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K, ...