12、《每天5分钟玩转Docker容器技术》学习-Docker命令之容器操作命令

a) Docker ps 命令

docker ps : 列出容器

docker ps [OPTIONS]

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

--format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。

l 实例

列出所有在运行的容器信息。

列出最近创建的5个容器信息。

列出所有创建的容器ID。

b) Docker inspect 命令

docker inspect : 获取容器/镜像的元数据。

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

-f :指定返回值的模板文件。

-s :显示总的文件大小。

--type :为指定类型返回JSON。

l 实例

获取镜像mysql:5.6的元信息。

获取正在运行的容器mymysql的 IP。

c) Docker network

Docker network:对docker网络的操作

docker network COMMAND

1) docker network ls 命令

列出docker中的网络

docker network ls [OPTIONS]

l 实例

 

2) docker network inspect 命令

查询docker中网络的具体信息

docker network inspect [OPTIONS] NETWORK [NETWORK...]

l 实例

3) docker network create 命令

docker create:创建一个docker网络

docker network create [OPTIONS] NETWORK

--attachable             Enable manual container attachment

--aux-address map        Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])

-d, --driver string      Driver to manage the Network (default "bridge")

--gateway stringSlice    IPv4 or IPv6 Gateway for the master subnet

--help                   Print usage

--internal               Restrict external access to the network

--ip-range stringSlice   Allocate container ip from a sub-range

--ipam-driver string     IP Address Management Driver (default "default")

--ipam-opt map           Set IPAM driver specific options (default map[])

--ipv6                   Enable IPv6 networking

--label list             Set metadata on a network (default [])

-o, --opt map            Set driver specific options (default map[])

--subnet stringSlice     Subnet in CIDR format that represents a network segment

l 实例

docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net2

4) docker network connect 命令

连接一个容器到网络

docker network connect [OPTIONS] NETWORK CONTAINER

--alias stringSlice           Add network-scoped alias for the container

--help                        Print usage

--ip string                   IP Address

--ip6 string                  IPv6 Address

--link list                   Add link to another container (default [])

--link-local-ip stringSlice   Add a link-local address for the container

5) docker network disconnect 命令

将容器断开指定的网络

docker network disconnect [OPTIONS] NETWORK CONTAINER

-f, --force   Force the container to disconnect from a network

--help    Print usage

 

6) docker network prune 命令

删除全部的未使用的网络

docker network prune [OPTIONS]

-f, --force   Do not prompt for confirmation

--help    Print usage

7) docker network rm 命令

删除一个或多个网络

docker network rm NETWORK [NETWORK...]

--help   Print usage

d) Docker volume

管理卷

 

1) Docker volume ls 命令

列出系统中使用docker managed volume

docker volume ls [OPTIONS]

-f, --filter filter   Provide filter values (e.g. 'dangling=true')

--format string   Pretty-print volumes using a Go template

--help            Print usage

-q, --quiet           Only display volume names

l 实例

2) docker volume inspect 命令

显示卷的详细信息

docker volume inspect [OPTIONS] VOLUME [VOLUME...]

-f, --format string   Format the output using the given Go template

--help            Print usage

l 实例

3) Docker volume create 命令

创建docker managed volume

docker volume create [OPTIONS] [VOLUME]

-d, --driver string   Specify volume driver name (default "local")

--help            Print usage

--label list      Set metadata for a volume (default [])

-o, --opt map         Set driver specific options (default map[])

l 实例

4) Docker volume prune 命令

删除未使用的docker managed volume

docker volume prune [OPTIONS]

-f, --force   Do not prompt for confirmation

--help    Print usage

l 实例

5) Docker volume rm 命令

删除一个或多个docker managed volume

docker volume rm [OPTIONS] VOLUME [VOLUME...]

-f, --force   Force the removal of one or more volumes

--help    Print usage

l 实例

e) Docker top 命令

docker top :查看容器中运行的进程信息,支持 ps 命令参数。

docker top [OPTIONS] CONTAINER [ps OPTIONS]

容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。

l 实例

查看容器mymysql的进程信息。

查看所有运行容器的进程信息。

f) Docker attach 命令

docker attach :连接到正在运行中的容器

docker attach [OPTIONS] CONTAINER

要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。

官方文档中说attach后可以通过CTRL-C来detach,但实际上经过我的测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上--sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。

l 实例

容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。

g) Docker events 命令

docker events : 从服务器获取实时事件

docker events [OPTIONS]

-f :根据条件过滤事件;

--since :从指定的时间戳后显示所有事件;

--until :流水时间显示到指定的时间为止;

l 实例

显示docker 2016年7月1日后的所有事件。

显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件。

h) Docker logs 命令

docker logs : 获取容器的日志

docker logs [OPTIONS] CONTAINER

-f : 跟踪日志输出

--since :显示某个开始时间的所有日志

-t : 显示时间戳

--tail :仅列出最新N条容器日志

l 实例

跟踪查看容器mynginx的日志输出。

查看容器mynginx从2016年7月1日后的最新10条日志

i) Docker wait 命令

docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码。

docker wait [OPTIONS] CONTAINER [CONTAINER...]

l 实例

j) Docker export 命令

docker export :将文件系统作为一个tar归档文件导出到STDOUT。

docker export [OPTIONS] CONTAINER

-o :将输入内容写到文件。

l 实例

将id为a404c6c174a2的容器按日期保存为tar文件。

k) Docker port 命令

docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。

docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

l 实例

查看容器mynginx的端口映射情况。

原文地址:http://blog.51cto.com/hostman/2095096

时间: 2024-10-22 18:24:15

12、《每天5分钟玩转Docker容器技术》学习-Docker命令之容器操作命令的相关文章

容器技术|Docker三剑客之docker-machine

docker-machine是什么? ocker-machine就是docker公司官方提出的,用于在各种平台上快速创建具有docker服务的虚拟机的技术,甚至可以通过指定driver来定制虚拟机的实现原理(一般是virtualbox). Docker 与 Docker Machine 的区别 Docker 是一个 Client-Server 架构的应用,Docker是大家对Docker Engine简称. Docker包括以下三个部分: 1.Docker daemon 2.一套与 Docker

入手Docker容器注意事项:命令结束容器退出

在没有 docker 容器的时候,在终端(terminal)中运行 shell 命令,我们知道当终端退出时(比如关闭终端窗口或退出 ssh 会话),终端中执行的命令也会结束.所以,当我们在终端中执行持续运行的任务或服务时,我们需要让其跳出当前 shell 进程,在后台运行(比如以 daemon 方式运行). 在最近刚接触 docker 容器时,我误以为 docker 容器是一个轻量级的虚拟机(vm),容器启动后,只要我不把容器关闭,可以在其中任意执行 shell 命令,想干啥就干啥.于是,遇到了

Linux容器技术和docker

发展历程: 容器技术最早出现在FreeBSD上叫做 jail,将一个进程放入jail中运行,不管这个进程在其中发生怎样的错误都不会影响到系统上其他进程的运行 jail技术在Linux中的实现叫做vserver,vserver所实现的功能体现为chroot namespaces: 容器技术出现的主要目的是为了"资源隔离" 资源隔离包括: 名称 描述 内核版本 UTS 主机名和域名的隔离 2.6.19 Mount 文件系统的隔离 2.4.19 IPC 进程间通信隔离 2.6.19 PID

容器技术|Docker三剑客之docker-compose

三剑客简介 docker-machine docker技术是基于Linux内核的cgroup技术实现的,那么问题来了,在非Linux平台上是否就不能使用docker技术了呢?答案是可以的,不过显然需要借助虚拟机去模拟出Linux环境来. docker-machine就是docker公司官方提出的,用于在各种平台上快速创建具有docker服务的虚拟机的技术,甚至可以通过指定driver来定制虚拟机的实现原理(一般是virtualbox). docker-compose docker镜像在创建之后,

Docker虚拟化技术系列之-命令详解

虚拟化原理:虚拟化解决方案的底部是要进行虚拟化的物理机器.这台机器可能直接支持虚拟化,也可能不会直接支持虚拟化:那么就需要系统管理程序 层的支持.系统管理程序(Virtual machine monitor),或称为 VMM,可以看作是平台硬件和操作系统的抽象化.在某些情况中,这个系统管理程序就是一个操作系统:此时,它就称为主机操作系统. 随着docker不断的学习,我们要想进一步去维护docker,就需要掌握docker日常使用的命令,如下为docker常用命令: 一.容器基础命令 docke

每天5分钟玩转容器技术 整理目录

原 写在最前面 - 每天5分钟玩转容器技术(1) 容器生态系统 - 每天5分钟玩转容器技术(2) 容器生态系统 (续) - 每天5分钟玩转容器技术(3) 运行第一个容器 - 每天5分钟玩转容器技术(4) [视频]运行第一个容器 - 每天5分钟玩转容器技术(5) 容器 What, Why, How - 每天5分钟玩转容器技术(6) Docker 架构详解 - 每天5分钟玩转容器技术(7) Docker 组件如何协作?- 每天5分钟玩转容器技术(8) 最小的镜像 - 每天5分钟玩转容器技术(9) b

写在最前面 - 每天5分钟玩转容器技术(1)

<每天5分钟玩转容器技术>是一个有关容器技术的教程,有下面两个特点: 系统讲解当前最流行的容器技术.从容器的整个生态环境到各个具体的技术,从整体到细节逐一讨论. 重实践并兼顾理论.从实际操作的角度带领大家学习容器技术. 为什么要写这个? 简单回答是:容器技术非常热门,但门槛高. 容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行. 对 IT 行业来说,这是一项非常有价值的技术.而对 IT 从业者来说,掌握容器技术是市场的需要,也是提升自我价值的重要途径. 拿我

玩大数据的你竟然不知道容器?——Docker入门之安装Docker及MySQL

1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这个镜像称为容器,容器启动是非常快速的. 2.核心概念 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上): docker客户端(Client):连接docker主机进行操作: docker仓库(Registry):用来保存各种打包好的软件镜像: dock

容器技术Docker 容器操作大总结

Docker实战之容器操作: 新建容器: docker create创建的容器处于停止状态,可以使用docker start命令启动Docker容器. 使用docker run命令,可以创建一个运行中的容器. create命令与容器运行模式相关的选项: -a,--attach=[]                                      是否绑定到标准输出.输入和错误 -a,--detach=true|false                              是否在

01 docker容器技术基础入门

本章内容: 1.container是什么? 2.LXC技术介绍 3.namespaces-名称空间,实现资源隔离 4.容器的资源分配--Cgroup,实现资源分配 5.LXC与dockers ------------------------------------------------------------------- 基于虚拟化基础知识,我们这一节开始介绍docker技术的相关内容:docker技术可以理解为我们所学习的虚拟化基础知识的一个延申: 1.container是什么? 容器是一