Docker命令大全


docker 常用命令如下

管理命令:

  container  管理容器

  image      管理镜像

  network    管理网络

  node        管理Swarm节点

  plugin      管理插件

  secret      管理Docker secrets

  service    管理服务

  stack      管理Docker stacks

  swarm      管理Swarm集群

  system      查看系统信息

  volume      管理卷

  如:docker container ls 显示所有容器

普通命令:

  attach    进入一个运行的容器

  build      从一个DockerFile构建镜像

  commit    从容器创建一个镜像

  cp          从容器和主机文件系统之间拷贝文件

  create      创建一个容器

  diff        检查容器文件系统上的更改

  events      从服务器获取实时事件

  exec        在正在运行的容器中运行命令

  export      将容器的文件系统导出为tar存档

  history    显示镜像的历史记录

  images      查看镜像列表

  import      从归档文件中创建镜像

  info        显示系统范围的信息

  inspect    返回Docker对象的低级信息

  kill        kill运行中的容器

  load        从存档或者STDIN加载镜像

  login      登陆docker镜像仓库

  logout      退出docker镜像仓库

  logs        获取一个容器的日志

  pause      暂停一个或多个容器中的所有进程

  port        查看端口映射或容器的特定映射列表

  ps          查看容器列表

  pull        从镜像仓库拉取镜像

  push        将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

  rename      重命名容器

  restart    重启容器

  rm          删除容器

  rmi        删除镜像

  run        创建一个新的容器并运行一个命令

  save        将指定镜像保存成 tar 归档文件

  search      从Docker Hub搜索镜像

  start      启动容器

  stats      实时显示容器资源使用情况的统计信息

  stop      停止容器

  tag        标记本地镜像,将其归入某一仓库

  top        展示一个容器中运行的进程

  unpause    恢复容器中所有的进程

  update      更新容器配置

  version    显示Docker的版本信息

  wait        阻塞直到容器停止,然后打印退出代码


  如:docker images 显示所有镜像

下面将分别介绍一些常用操作

docker 拉取并运行一个镜像

1、下载镜像

$ docker pull centos

2、查看已经下载的镜像

$ docker images

    REPOSITORY          TAG                IMAGE ID            CREATED            SIZE

    centos              latest              49f7960eb7e4        6 weeks ago        200MB

    hello-world        latest              f2a91732366c        8 months ago        1.85kB

3、运行一个镜像并生成容器

//运行一个centos镜像,并执行/bin/bash命令

$ docker run centos /bin/bash

输入命令docker ps或者docker container ls查看运行中的容器,发现列表为空,原因是容器在执行完成命令后会自动退出,下面介绍让让容器停留在后台的方法

$ docker ps

    CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS              PORTS              NAMES


$ docker container ls

    CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS              PORTS              NAMES

使用命令docker ps -a或者docker container ls -a 查看所用容器,并显示了容器的状态

$ docker ps -a

CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS                      PORTS              NAMES

5525373371f3        centos              "/bin/bash"        7 minutes ago      Exited (0) 7 minutes ago                        nifty_rosalind

docker 让镜像运行停留在后台

1、启动一个容器并后台运行

docker run命令 通过增加-i -t参数可以让容器并进入容器

docker run -i -t centos /bin/bash

按 Ctrl + P + Q 退出容器,再用 docker ps 进行查看

$ docker ps

CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS              PORTS              NAMES

61b041e4e063        centos              "/bin/bash"        3 minutes ago      Up 3 minutes                            nervous_saha

状态显示仍在运行中

docker 进入一个运行的容器

$ docker ps

CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS              PORTS                    NAMES

36afde543eb5        mysql:5.7          "docker-entrypoint.s…"  About an hour ago  Up About an hour    0.0.0.0:3306->3306/tcp  mymysql

$ docker exec -it 36afde543eb5 /bin/bash

-i 保持STDIN打开 -t 分配一个虚拟TTY窗口

docker 提交一个镜像到镜像仓库

1、首先到https://hub.docker.com/注册一个账号,保存下用户名密码 2.控制台登陆dockerhub账户

$ docker login

    输入刚注册的用户名密码

2、查看镜像

$ docker images

REPOSITORY          TAG                IMAGE ID            CREATED            SIZE

redis              latest              f06a5773f01e        2 days ago          83.4MB

3、选择需要上传的镜像,重命名为指定的格式

$ docker  tag redis username/myredis:v1

username:为自己注册的用户名

myredis:为自己为镜像取的名字

v1:为任意设置的版本号

4、完成上述操作后,即可提交镜像到自己的仓库

docker push username/myredis:v1

docker 映射文件从宿主机到容器,端口号映射

//将宿主机的81端口映射到容器的80端口

//将宿主机的/develop/data卷,映射到容器的/data卷

$ docker run -i -t -p 81:80 -v /develop/data:/data  centos /bin/bash

-p:映射端口号 -v:磁盘目录映射

docker 更改端口号映射

运行中的容器无法映射新的端口号,也无法更改端口号映射,但可以通过两种方法解决

1、iptable转发端口

//查看容器ip

$ docker inspect 36afde543eb5 | grep IPAddress

"IPAddress": "172.17.0.2"

//将主机的8081端口映射到宿主机的8080端口

$ iptables -t nat -A  DOCKER -p tcp --dport 8081 -j DNAT --to-destination 172.17.0.2:8080

2、先提交容器为镜像,再运行这个容器,同时指定新的端口映射

//提交容器为镜像

$ docker commit 9995ffa15f46  mycentos:0.1

//停止旧的容器

$ docker stop 9995ffa15f46

//重新从旧的镜像启动容器

$ docker run -i -t  -p 8081:8080  mycentos:0.1

从DockerFile创建镜像

$ docker build -t myimage:v1 .

-t :指定镜像名称和标签,格式为'name:tag' .: 最后一个点代表当前目录,也可以换成其它的路径

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容

  • Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,...
    盖码范阅读 476评论 0 1
  • 容器生命周期管理 run start/stop/restart rm pause/unpause create e...
    Al1i9at0r阅读 363评论 0 2
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,385评论 0 27
  • docker常用命令详解 - CSDN博客 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的...
    Meathill大魔王阅读 810评论 1 2
  • 基本命令 仓库相关操作 docker pull #从远程仓库拉取镜像到本地 docker push #推送...
    中v中阅读 6,557评论 5 181