系列学习 docker 之第 5 篇 —— Docker 常用命令

这里仅罗列日常工作中用到的 docker 命令,想深入学习或者了解请查看:https://www.runoob.com/docker/docker-command-manual.html

 

容器操作命令

1、列出容器的列表:docker ps [可选参数]

可选参数:-a:显示所有的容器,包括未运行的。一般使用 -a 就够用了。

示例:

输出详情介绍:

CONTAINER ID:容器 ID。

IMAGE:使用的镜像。

COMMAND:启动容器时运行的命令。

CREATED:容器的创建时间。

STATUS:容器状态。状态包括:created(已创建)、restarting(重启中)、running(运行中)、removing(迁移中)、paused(暂停)、exited(停止)、dead(死亡)

PORTS:容器的端口信息和使用的连接类型(tcp\udp)。

NAMES:自动分配的容器名称。

如果想搜索某个名字的容器,可以配合使用 Linux 的命令,比如搜索包含 my 的容器:

docker ps -a | grep "my"

结果:

 

2、查看容器或者镜像的元信息:docker inspect 容器ID或镜像ID

示例(默认返回 json 格式):

 

3、获取容器的日志:docker logs [可选参数] 容器ID

可选参数:

-f:跟踪日志输出

--since:显示某个开始时间的所有日志,如:--since="2020-05-01"

--tail:仅列出最新N条容器日志,如:--tail=20

示例(先使用 docker ps 把运行中的容器ID找出来,注意容器ID必选。):

docker logs --since="2020-05-01" --tail=20 2e0ef63dafbf

结果:

 

4、容器与宿主机之间的数据拷贝(一般在挂载的时候需要用到):docker cp 目录1 目录2

说明:可以在容器和宿主机之间进行数据、文件的拷贝,目录1是源数据,目录2是目标数据。

示例(将 容器ID = 957a81fb3aa3 的 Nginx 的 nginx.conf 文件复制到宿主机的 /data/nginx/conf 目录下,事先需要创建 /data/nginx/conf 目录):

docker cp 957a81fb3aa3:/etc/nginx/nginx.conf /data/nginx/conf

 

容器生命周期管理命令

1、创建一个新的容器并运行一个命令:docker run [可选参数]

可选参数:

-d:后台运行容器,并返回容器ID
-p:指定端口映射,格式为:主机(宿主)端口:容器端口
--name="XXX":为容器指定一个名称
--env-file=[]:从指定文件读入环境变量(一般我们部署到线网环境用 prod)

-v 或者 --volume : 绑定一个卷(将宿主机的某个目录映射到容器的某个目录,一般用于日志文件或其它的绑定)

示例(先指定容器的名称,再加 -d、-p的参数):

docker run --name="myService" -d -p 8080:9090 my-docker-test-image

结果:

 

2、启动、重启、停止容器:docker start、stop、restart 容器ID

启动一个或多个已停止的容器(多个容器用空格间隔):docker start 容器ID1 容器ID2 容器ID3

停止一个容器:docker stop 容器ID

重启容器(已删除的容器不可重启):docker restart 容器ID

重启容器示例:

docker restart cfa155ea12d2

结果:

 

3、删除一个或多个容器(多个容器用空格间隔):docker rm [可选参数] 容器ID1 容器ID2 容器ID3

可选参数:

-f:强制删除

-v:删除与容器关联的卷

示例:

docker rm -f cfa155ea12d2

结果:

 

4、进入到已运行的容器(默认情况下软件安装的目录的 /ect 目录下):docker exec [可选参数] 容器ID /bin/sh

参数列表:

-i:即使没有附加也保持STDIN 打开(一般与 t 合用)

-t:分配一个伪终端(一般与 i 合用)

示例:

docker exec -it 6ee2b99c9ef1 /bin/sh

退出容器:exit

 

镜像仓库命令

1、从镜像仓库中拉取或者更新指定镜像:docker pull

示例1:从Docker Hub下载java最新版镜像

docker pull java

示例2:从指定目录拉取镜像

docker pull 192.168.0.106:8080/usr/local/dockerapp/my-docker-test-image

 

2、将本地的镜像上传到镜像仓库(要先登陆到镜像仓库):docker push

一般使用 Maven 插件将镜像推到指定仓库。

 

3、从 Docker Hub查找镜像:docker search

Docker Hub 地址:https://hub.docker.com/

示例:查询mysql

参数说明:

NAME:镜像仓库源的名称

DESCRIPTION:镜像的描述

OFFICIAL:是否 docker 官方发布

stars:类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED:自动构建。

 

4、显示 Docker 系统信息,包括镜像和容器数:docker info

示例:

 

本地镜像管理命令

1、列出本地所有的镜像:docker images [可选参数]

可选参数:

-a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)

示例:docker images -a

如果想搜索某个名字的镜像,可以配合使用 Linux 的命令,比如搜索包含 my 的镜像:

docker images -a | grep "my"

结果:

 

2、删除本地一个或多少镜像(多个镜像用空格间隔):docker rmi [可选参数] 镜像ID1 镜像ID2

可选参数:-f:强制删除
示例:

docker rmi faer5367rrwd

 

3、使用 Dockerfile 创建镜像:docker build -t 镜像名称:标签 Dockerfile的相对位置

示例:

docker build -t my-docker-test-image . 

说明:my-docker-test-image 是我自定义的镜像名称,可以叫别的,但是必须全部是小写字母。后面的点 . 是 Dockerfile 的相对位置,这里因为它们是在同一个目录下,所以用点 . 表示。

结果:

 

4、查看指定镜像的创建历史:docker history 镜像ID

示例:

docker history 4ddea1f9a006

结果:

 

OK,本篇博客罗列了日常使用到的 docker 相关命令。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值