# docker命令行学习

## docker run
- docker run --help:老实说这条最管用了
- docker run -it:交互模式,允许控制台输出
- docker run -d:detach,以后台进程的形式运行,可以与-it同时生效
- docker run --name "your docker name":指定名称,可以在后续操作替代id
- docker run -v {host path}:{docker path}:挂载磁盘,下面详细说
- docker run --rm: Automatically remove the container when it exits,结束后自动删除docker,省去了docker rm的操作
- docker run -p {host port}:{docker port}:指定端口映射关系,冒号前是宿主机的端口,冒号后是容器的端口
- docker run --restart {mode}:支持重启的容器,三种模式:no/on-failure/always,看名字就知道是干嘛的了

### docker run -v
重点学习一下docker run -v这个磁盘挂载操作:

参考: [关于Docker目录挂载的总结](http://www.linuxidc.com/Linux/2015-09/123519.htm)

挂载磁盘的目的是将宿主机的目录挂载到容器中,这样可以达到宿主机和容器共享一个目录,从而更方便的共享数据。
值得注意的是,当在宿主机或容器中修改了目录内的内容或是目录的权限,相应的映射目录也会进行改变,但是如果是容器被删除,宿主机内的目录并不会被删除,但是反之则会。

列出几点关键点:

- 容器目录不可以为相对路径
- 宿主机目录如果不存在,则会自动生成
- 宿主机的目录如果为相对路径,会在/var/lib/docker/volumes/下创建目录
- 如果只是-v指定一个目录,随机生成的一个目录名
- 挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission denied”

## docker logs

- docker logs {docker_id/docker_name} :查看日志(控制台输出)
- docker logs -f {docker_id/docker_name} :类似tail -f 实时查看输出

## docker exec

- docker exec -it {docker_id/name} /bin/bash:进入后台运行的容器的交互模式

## docker build

- docker build -t {tag_name} {Dockerfile dir}:根据目录下的Dockerfile文件构建一个镜像,-t指定其名称和tag

【Docker】基本命令使用介绍的更多相关文章

  1. 15个Docker基本命令及用法

    Docker入门教程:15个Docker基本命令及用法   本文中,我们将学习15个Docker命令以及命令的用法和功能,并通过实践学习它是如何工作的. AD:51CTO 网+ 第十二期沙龙:大话数据 ...

  2. 七、docker基本命令

    Docker 基本命令 docker的基本命令 docker version :查看docker的版本号,包括客户端.服务端.依赖的Go等 [root@centos7 ~]# docker versi ...

  3. Docker底层原理介绍

    1.docker介绍 1.1什么是docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻 ...

  4. Docker 基本命令和使用

    Docker 基本命令 systemctl start docker : 启动 Docker systemctl stop docker : 停止 Docker systemctl restart d ...

  5. Docker这么火爆。章节一:带你详尽了解Docker容器的介绍及使用

    前言 很多小伙伴可能在工作中都听说过Docker,但是实际工作中却没有使用过,听得多了,也对Docker内心有一种很深切的想了解,但是因为各种原因而不知道如何去了解而发愁,不要急,这篇文章带你认识Do ...

  6. Linux和Docker的Capabilities介绍及Setcap命令

    Linux和Docker的capabilities介绍 转载:https://www.cnblogs.com/charlieroro/p/10108577.html 验证环境:centos7 x86/ ...

  7. Docker实用命令介绍

    Docker实用命令介绍 1. docker启动.关闭.停止 ╭─wil-xz in ~ 12:15:44 ╰─٩(ŏ﹏ŏ.)۶ service docker restart Redirecting ...

  8. docker新手入门(基本命令以及介绍)

    Docker 的核心内容 镜像 (Image) 容器 (Container) 仓库 (Repository) Registry 用来保存用户构建的镜像 docker的开始使用: 1. docker  ...

  9. (转) Docker swarm 之介绍与使用

    今天,在站内看到一篇关于Docker Swarm 的文章,非常好,在这里转过来,方便日后查阅 :) 原贴链接: http://www.cnblogs.com/rio2607/p/4445968.htm ...

随机推荐

  1. [Leetcode] Copy list with random pointer 对带有任意指针的链表深度拷贝

    A linked list is given such that each node contains an additional random pointer which could point t ...

  2. npm错误总结

    You cannot publish over the previously published version 1.0.1." : xxx 发布时一定要修改package.json的版本号 ...

  3. [AHOI2005]航线规划——LCT维护边双联通分量

    因为只能支持加入一个边维护边双,所以时光倒流 维护好边双,每次就是提取出(x,y)的链,答案就是链长度-1 具体维护边双的话, void access(int x){ for(reg y=0;x;y= ...

  4. nfs 和samba

    NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用N ...

  5. BZOJ1051:受欢迎的牛(并查集 / Tarjan)

    1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 8161  Solved: 4460 Description ...

  6. JAVA中string.replace()和string.replaceAll()的区别及用法

    乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样.    public String r ...

  7. 百度vue服务端渲染(ssr)有感

    前端各种框架工具层次不穷,日新月异,越学越混乱了快 知乎上看到了一段回复,豁然开朗的感觉. Web 2.0时代最大的思想革命本质不是前后端分离,而是把网页当作独立的应用程序(app).前后端分离只是实 ...

  8. Fragment使用--文章集锦

    android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态 Android Fragment 真正的完全解析(上) Android Fragment实 ...

  9. 【Foreign】无聊的计算姬 [Lucas][BSGS]

    无聊的计算姬 Time Limit: 10 Sec  Memory Limit: 256 MB Description Input Output Sample Input 6 2 2 3 4 3 2 ...

  10. bzoj 1026 DP,数位统计

    2013-11-20 08:11 原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1026 首先我们用w[i,j]表示最高位是第i位,且是j的 ...