Docker 一点点

背景

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

先看图

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

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

命令

各种查看

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版本以及有关操作系统的几条信息。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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两列就行。

1
2
3
4
5
6
7
8
9
10
11
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

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

1
2
3
4
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,通常是修复现场问题时做该操作。

感谢

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