Docker系列(常用命令) 02

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Docker系列(常用命令) 02

Docker常用命令总结

docker官方命令文档

一、Docker环境信息命令

docker version  # 查看docker版本信息
docker info # 查看docker详细信息

二、系统日志信息常用命令

2.1 docker events

作用:从服务器获取实时事件,比如:启动、关闭和创建docker等,可带参数。

-f      :根据条件过滤事件;
--since :从指定的时间戳后显示所有事件;
--until :流水时间显示到指定的时间为止;
2.1 docker logs

作用:获取容器的日志,可带参数。

-f      : 跟踪日志输出
--since : 显示某个开始时间的所有日志
-t      : 显示时间戳
--tail  : 列出最新N条容器日志
docker logs -f mynginx
2.3 docker history

作用:查看指定容器的创建历史。

三、容器的生命周期管理命令

3.1 docker create

作用:创建一个容器,但是不启动。

3.2 docker run

作用:创建一个docker并执行一条指令。

docker run [OPTIONS] IMAGE [CMD] [ARG...]

常用选项:

  1. –cidfile 将容器id写到指定文件,如:docker run --rm --cidfile /tmp/idfile ubuntu
  2. -d/–detach 后台运行容器并打印容器id
  3. –entrypoint 覆盖镜像默认程序入口
  4. -e/–env 设置环境变量
  5. –env-file 从文件中读取环境变量
  6. –expose 暴露一个或者多个端口
  7. –group-add 为容器用户添加更多的用户组
  8. -i/–interactive 保持标准输入设备处于打开状态
  9. –mount 将文件系统挂载到容器,与 -v 类似
  10. –name 指定容器名称
  11. –privileged 授予容器超级权限
  12. -p/–publish 容器端口映射到主机端口
  13. -P 容器端口随机映射一个主机端口
  14. –read-only 将容器根文件系统装载为只读
  15. –restart 容器退出时的重启策略,默认为no
  16. –rm 当容器退出时,自动删除容器
  17. -t/–tty 分配一个为终端设备
  18. -v/–volume 绑定数据卷
  19. –volume-from 从指定的容器装载数据卷
  20. -w/–workdir 指定容器内的工作目录
3.3 docker start/stop/restart
docker start # 启动一个或多个已被停止的容器
docker stop  # 停止一个运行中的容器
docker restart # 重启容器
3.4 docker kill

作用:杀死一个运行中的容器,-s 向容器发送一个信号。

docker kill -s TERM mynginx
docker kill -s KILL mynginx

docker kill 和 docker stop的区别:

  1. 发送的信号量不同,前者默认发送的是KILL信号量(9),后者默认发送的是TERM信号量(15)
  2. kill是强制杀死容器,不执行清理工作,stop会执行程序的清理流程
3.5 docker rm

作用:删除一个或多个容器

3.5 docker pause/unpause

作用:暂停/恢复容器中所有进程。

四、容器运维命令

4.1 docker exec

作用:在运行的 docker 中执行命令

docker exec -i -t mynginx /bin/bash
// 通过exec 执行命令
docker exec mynginx ls
4.2 docker ps

作用:列出容器

docker ps [OPTIONS]
-a 显示所有容器,包括未运行的
-f 根据条件过滤显示容器
-l 显示最近创建的容器
-n 列出最近创建的n个容器
4.3 docker inspect

作用:获取容器或镜像的元数据。返回的是Json。

docker inspect -f '{{.Name}}' ca14e6427a80

查看容器id为 ca14e6427a80 的Name字段的值。

4.4 docker top

作用:查看容器中运行的进程信息。

4.4 docker attach
docker attach <container_id>

docker exec 和 docker attach 的区别:

  1. exec是在容器中执行命令,并且可以通过-i -t 创建虚拟终端与容器交互
  2. attach 是进入容器某个正在执行的命令终端,不能交互。但是,如果该容器的命令终端是一个能交互的终端,那么也能交互。

退出attach模式的方法:

(1)如果attach的目标容器,在运行时没有指定-i -t 参数,ctrl+c 虽然会退出attach模式,但是对应的容器进程也会退出。

(2)如果attach的目标容器,在运行时指定了-t 参数,ctrl+c 正常退出。

(3)如果执行的是docker attach --sig-proxy=false  ,ctrl+c 正常退出

4.5 docker wait

作用:阻塞等待,直到容器停止,打印出退出代码。

4.6 docker export

作用:将文件系统作为一个tar归档文件导出。

4.7 docker export

作用:列出指定容器的端口映射

4.8 docker cp

作用:用于和宿主机之间的数据拷贝。

# 主机/www/html目录拷贝到容器1881f0cba5bc的/www目录下
docker cp /www/html 1881f0cba5bc:/www/
# 将主机/www/html目录拷贝到容器1881f0cba5bc中,目录重命名为www。
docker cp /www/html 1881f0cba5bc:/www
# 将容器1881f0cba5bc的/www目录拷贝到主机的/tmp目录中
docker cp 1881f0cba5bc:/www /tmp/
4.9 docker diff

作用:检查容器里文件结构的更改。docker diif 会列出容器内文件的状态变化列表。其中,A (Add)表示新增的文件,C(Change) 表示改变的文件。

4.10 docker rename

作用:修改容器的名字。

4.11 docker stats

类似于 top,监控容器的资源使用情况。

4.12 docker update

作用:用来修改docker run指定的运行参数。

docker update --restart no mynginx5

五、镜像管理命令

5.1 docker build

作用:用于使用 Dockerfile 创建镜像。Dockerfile我们会在后面的文章详细介绍。

docker build
[OPTIONS]
--build-arg=[] # 设置镜像创建时的变量
--cache-from   # 指定镜像用作当前构建的缓存镜像
-f,--file      # 指定要使用的Dockerfile路径;
--force-rm     # 不论构建是否成功,总是删除中间容器,默认false。注意:中间容器;
--no-cache     # 创建镜像的过程不使用缓存;
--tag, -t      # 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
--target       # 设置要生成的目标生成阶段
5.1 docker images

作用:列出本地镜像。

docker images 
-a       # 列出本地所有镜像
--digests # 显示镜像的摘要信息
-f      # 显示满足条件的镜像
# 查看所有悬空镜像
docker images --filter dangling=true
# 清除所有悬空镜像
docker image prune
5.2 docker rmi

作用:删除本地一个或多个镜像。-f 表示强制删除。

5.3 docker tag

作用:标记本地镜像,并将其归入某个仓库。

docker tag mynginx1:v1 mynginx1:1.0
5.4 docekr save

作用;将指定镜像保存为tar归档文件。

docker save -o mynginx1.tar mynginx1:v1
5.5 docker load

作用:导入 docker save 导出的镜像,-i 指定导入的文件。

docker load -i mynginx1.tar
5.6 docker import

作用:从归档文件中创建镜像。

docker import mynginx1.tar  mynginx1:v2
5.7 docker commit

作用:从容器创建一个新的镜像。

docker commit -a "panda" -m "mynginx commit" mynginx mynginxtest:1.0

六、镜像仓库操作命令

6.1 docker login

作用:登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker login -u user -p pwd [SERVER]
6.2 docker logout

作用:登出到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

6.3 docker pull

作用:从镜像仓库中拉取或者更新指定镜像。

docker pull nginx
6.4 docker push

作用:将本地镜像推送到远端仓库,前提是已经登录到该仓库。

docker push [OPTIONS] NAME[:TAG]
6.5 docker search

作用:从远端仓库查找镜像,-f 过滤条件。

# 从 Docker Hub 查找所有镜像名包含 nginx,并且收藏数大于 10 的镜像
docker search -f stats=10 nginx 


推荐一个零声学院免费教程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,点击立即学习:

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。 &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
安全 Docker 容器
|
2月前
|
网络安全 数据安全/隐私保护 Docker
|
9天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
107 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
16天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
156 77
|
13天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
75 24
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
763 12
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
15天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
94 6
|
3月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
208 56
|
2月前
|
存储 监控 安全
|
2月前
|
存储 关系型数据库 MySQL