Docker之常用命令

2019-02-19 09:49:39

简介

Docker的命令很多,但根据二八原则,会使用常用的那两层命令足以应付八层场景。

命令

更多命令建议使用docker --help的方式查看,针对某一个具体的command也可以使用docker [CMD] --help的方式查看,命令用法比较详细。

镜像搜索

使用docker search进行镜像资源搜索,搜索来源于镜像仓库,默认是Docker Hub中,国内腾讯云或阿里云均有镜像加速器

docker search [name]

docker_search

注:

  • NAME:镜像仓库名称。
  • DESCRIPTION:镜像仓库描述
  • STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 star
  • OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护
  • AUTOMATED:表示是否是自动构建的镜像仓库

拉取镜像

从docker仓库中获取指定镜像

docker pull name:[tag]

docker_pull

注:

  • 从仓库中拉取指定的镜像,后面tag为指定镜像版本,也可以不指定,默认为latest

列出已下载的镜像

docker images

or

docker image ls

docker_images

注:

  • REPOSITORY:镜像所属仓库名称
  • TAG:镜像标签。默认是 latest,表示最新
  • IMAGE ID:镜像 ID,表示镜像唯一标识
  • CREATED:镜像创建时间
  • SIZE: 镜像大小

删除本地镜像

docker rmi [IMAGE...]

or

docker image rm [OPTIONS] IMAGE [IMAGE...]

新建并启动容器

docker run -d -p 81:80 nginx

新建并启动一个容器,如果执行多次这会同时启动多个相同容器。启动时会先检测预启动容器在本地是否存在,不存在的话会从仓库中拉取

注:

  • -d 是指后台运行,Run container in background and print container ID
  • -p 宿主机端口:容器端口,就是端口映射,Publish a container's port(s) to the host (default [])
  • 更多命令查看docker run --help

列出容器

docker ps

类似于shell命令里的ps,会展出所有的容器。
docker_ps

注:

  • CONTAINER_ID:表示容器 ID
  • IMAGE:表示镜像名称
  • COMMAND:表示启动容器时运行的命令
  • CREATED:表示容器的创建时间
  • STATUS:表示容器运行的状态,UP表示运行中, Exited表示已停止
  • PORTS:表示容器对外的端口号
  • NAMES:表示容器名称。该名称默认由 Docker自动生成,也可使用 docker run命令的--name选项自行指定
  • 更多命令查看docker ps --help

停止容器

docker stop [CONTAINER_ID]

or

docker stop [OPTIONS] CONTAINER [CONTAINER...]

注:

  • 更多命令查看docker stop --help

强制停止容器

docker kill [CONTAINER_ID]

停止一个或多个正在运行中的容器。

注:

  • 更多命令查看docker kill --help

启动已停止的容器

docker start [CONTAINER_ID]

docker run相对,前者新建并启动,后者直接启动已停止的容器

注:

  • 更多命令查看docker start --help

查看容器所有信息

docker inspect [CONTAINER_ID]

查看容器日志

docker container logs [CONTAINER_ID]

注:

  • 更多容器命令查看docker container --help

查看容器里的进程

docker top [CONTAINER_ID]

进入容器

docker container exec -it [CONTAINER_ID] /bin/bash

进入一个正在运行的docker容器,如果docker run启动容器时没有指定-it参数,则在进入容器时需要指定该参数。

注:

  • -i, --interactive Keep STDIN open even if not attached
    --privileged Give extended privileges to the command
  • -t, --tty Allocate a pseudo-TTY
  • 更多容器命令查看docker container exec --help

2018年个人总结

简述 年度总结,不单单是一个形式,它更多的是让我们产生更多的回忆和思考吧。 2018已过去,2019也无法阻拦的到了,是时候提笔来写一写这一年中所经历的事了。 工作 一年内换两份工作,算是比较大的变动了。5月份从咕咚离职,应朋友邀请进入G7。其实说实话,我是挺舍不得咕咚的,氛围、环境、工作节奏、同事这些都好,但确实是因为一些实际的问题,出现了比较严重的倒挂现象,那就闪了吧。进入G7,开始进入金融领域,接触新的同事,新的开发框架,呵,这跳槽成本还是蛮大的,大家慎重吧。我本乐忠G7,奈何2018年金融风暴来袭,周边好些前同事不幸“遇难”,当然,G7金融部门也不见得能躲过。行吧,那我就主动换一个吧,进入成都新希望金融科技,当前已差不多和平度过一个月,希望后续能好好当一颗小灯泡吧,能为公司创造价值,实现自己价值。 这一年在未来技术上也想了很多,在咕咚一直在做业务,随着年龄的增长发现这个似乎不能成为我的一个核心竞争力了。从进入G7开始尝试慢慢往深层次方向走,改变方向也注定这条路不是那么好走的,需要耗费更多的时间和精力在这上面吧,感觉自己就跟一个小白一样。 生活 今年一过,

Docker之镜像创建及部署

上篇文章提到了一些简单的docker命令,这里主要展示一下我们如何将我们需要的服务利用docker一步一步把它跑起来,文章内容不够全面,仅供学习参考使用。 穿梭门:Docker之常用命令 尝鲜 我们可以从最简单的Hello World开始,感受一下Docker的运行效果,直接在命令行执行下面的命令,就能从官方仓库中拉取指定名字的镜像。如果拉取的是自己或其他渠道提供的镜像,pull后面带指定路径即可。 docker pull hello-world 拉取成功后执行docker images可以看到拉下来的镜像列表,然后我们直接跑起来 docker run hello-world 输出这段提示后,hello world就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如我们常部署的服务等。 注: docker run命令具有自动抓取image文件的功能,如果发现本地没有指定的image,就会从仓库中自动抓取,也就是前面的docker pull并不是必须的。 正餐 上面的hello-world明显不能满足我们的欲望,我们的实际需求是将我们自己原本跑在VM或物理机上的服务能部署在Docker上面,那我们现在就开始吧。 Dockerfile 要达到我们的目的,不能离开的就是这个Dockerfile文件,Docker是根据该文件来生成二进制的image文件。我们直接使用一个实际的样例来进行讲解,新建一个文件并命名Dockerfile FROM centos RUN