Docker 一点点.md 5.4 KB

title: Docker 一点点 author: Gamehu tags:

  • Docker categories:
  • 工作 date: 2019-11-26 15:32:00

背景

由于我们产品是基于docker做的部署,所以不管在开发过程中还是在处理客户现场问题时,多多少少都要用到一些docker命令,此篇做个简单的记录,把我用到的命令记录下来。

先看图

说命令之前先看图了解下便于更有代入感。

架构图(不包含Dokcer Engine等细节)

{% asset_img architecture.png docs.docker.com %}

{% asset_img docker-arch1.jpg 运维之美 -www.hi-linux.com %}

命令

各种查看

docker COMMAND --help

查看docker相关命令的信息,里面有每个命令的说明。

docker ps、docker ps -a

docker ps 这是最常用的,查看容器的运行状态,查问题时不ps一下心里都没底,该命令会列出所有正在运行的容器,当然 等同于docker container ls。

另外docker ps -a,可用于显示所有正在运行和退出的容器。

docker info、docker version

docker info 该命令用于获取当前安装的docker版本以及有关操作系统的几条信息。

{% asset_img 1.png %}

docker version 列出有关Docker客户端和服务器版本的信息。

Client:
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.1
 Git commit:        2d0083d
 Built:             Fri Aug 16 14:20:06 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.7
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.1
  Git commit:       2d0083d
  Built:            Wed Aug 14 19:41:23 2019
  OS/Arch:          linux/amd64
  Experimental:     false
docker search xxx

该命令只有在我自己玩得时候用过(不想重复造轮子),搜索registry上得镜像。

docker images

列出所有的镜像,通常只需要关注REPOSITORY、TAG两列就行。

root@feature1_dev:~# docker images
REPOSITORY                                     TAG                                  IMAGE ID            CREATED             SIZE
172.17.162.141:5000/baymax-nginx               1.17.6                               231d40e811cd        6 months ago        126MB
172.17.162.141:5000/pg10-cmdb                  1.3.0                                284de991364f        10 months ago       370MB
172.17.162.141:5000/myflink                    1.8.1                                96c4d2af10fc        10 months ago       449MB
172.17.162.141:5000/yandex/clickhouse-server   19                                   58006c9044b7        13 months ago       514MB
172.17.162.141:5000/zookeeper                  latest                               f336949ce7a1        19 months ago       148MB
172.17.162.141:5000/redis                      latest                               1babb1dde7e1        20 months ago       94.9MB
172.17.162.141:5000/kafka                      latest                               568143d73a6b        20 months ago       339MB
172.17.162.141:5000/dubbo-admin                latest                               954bf5f29e96        2 years ago         492MB

docker logs -f container_name

查看容器的日志,我用的也较少。

docker commit -a "gamehu" -m "what f" container_id IMAGE_REPOSITORY:TAG`

通过容器id创建一个新的镜像,

Container

docker start 、stop、restart、rm、kill

高频使用了,后接 container_id/container_name,依次分别为:启动(已存在)容器、停止容器(会进行正常时间等待其停止)、重启重启、删除(已停止)容器、立即停止容器

docker exec -it container_id

使用的较多,通常是为了测试而替换容器内的内容,命令用于访问正在运行的容器,并启用交互模式,可用一些基本的命令。

root@feature1_dev:~# docker exec -it 58f5d79c10a3 /bin/bash
root@58f5d79c10a3:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@58f5d79c10a3:/#
docker inspect container_id

查看容器的相关信息,用的也较少。

Image

docker run、create

基于镜像创建一个新的容器,run是创建并启动,create是创建但不启动。

示例:docker run -i -t -p 1000:8000 image_name/image_id:TAG,使用镜像,以后台模式启动一个容器,将容器的 8000 端口映射到主机的 1000 端口

docker build <path to docker file>

此命令用于从指定的dockerfile构建镜像。

docker push IMAGE_NAME:TAG

做完镜像推送到镜像仓库。

docker rmi image_id/image_name

删除镜像,通常是处理现场问题,要替换镜像的时候用一用。

docker inspect image_id

查看镜像相关信息,我制作镜像的时候会用一用,用的很少。

docker save image_id> xx.tar

导出镜像,通常是修复现场问题时做该操作,导出已修复的镜像。

docker load < xx.tar

导入镜像,通常是修复现场问题时做该操作,载入已修复后的镜像。

docker tag image_id tag_name

修改镜像的TAG,通常是修复现场问题时做该操作。

感谢

{% blockquote Jeff Hale https://towardsdatascience.com/15-docker-commands-you-should-know-970ea5203421 15 Docker Commands You Should Know %} {% endblockquote %}

本文引用的内容,如有侵权请联系我删除,给您带来的不便我很抱歉。