欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker子命令汇总与解析

程序员文章站 2024-03-25 13:38:28
...

Docker子命令汇总与解析

Docker子命令汇总与解析

Docker子命令汇总与解析

Docker子命令分类

子命令分类 子命令
Docker环境信息 info、version
容器生命周期管理 create、exec、kill、pause、restart、rm、run、start、stop、unpause
镜像仓库命令 login、logout、pull、push、search
镜像管理 build、images、import、load、rmi、save、tag、commit
容器运维操作 attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff
系统日志信息 events、history、logs

docker安装

sudo apt-get install docker.io
  • 1

查看命令清单

sudo docker
docker help
  • 1
  • 2

Docker环境信息

info

docker info:提供配置信息,对于报bug非常有用。

$ sudo docker info 
Containers: 0
Images: 0
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.4.0-2-deepin-amd64
Operating System: Deepin 15 (containerized)
CPUs: 4
Total Memory: 3.792 GiB
Name: pxe1124amd64cn-pc
ID: G3XG:UIIT:IIP5:GMXQ:NYKR:ZHOF:AYEY:LCJR:2DNL:ZS2A:DDLM:ZPRF
WARNING: No memory limit support
WARNING: No swap limit support
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

version

docker version:显示Docker的版本号,API版本号,Git commit, Docker客户端和后台进程的Go版本号。

$ sudo docker version 
Client:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.5.1
 Git commit:   f4bf5c7
 Built:        
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.5.1
 Git commit:   f4bf5c7
 Built:        
 OS/Arch:      linux/amd64
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

容器生命周期管理

create

create : Create a new container

exec

exec: Run a command in a running container

kill

kill: Kill a running container 
使用方法:docker kill [OPTIONS] CONTAINER [CONTAINER…] 
使用说明:杀掉容器的进程。

pause/unpause

pause: Pause all processes within a container 
unpause: Unpause all processes within a container 
使用方法:docker pause CONTAINER 
使用说明:使用cgroup的freezer顺序暂停、恢复容器里的所有进程。

rm

rm: Remove one or more containers 
使用方法:docker rm [OPTIONS] CONTAINER [CONTAINER…] 
使用说明:删除指定的容器。

run

run: Run a command in a new container 
使用方法:docker run [OPTIONS] IMAGE [COMMAND] [ARG…] 
使用说明:这个命令是核心命令,可以配置的参数多达28个参数。详细的解释可以通过docker run –help列出。官方文档中提到的 Issue 2702:”lxc-start: Permission denied - failed to mount” could indicate a permissions problem with AppArmor. 在最新版本的Dcoker中已经解决。 
实例1:基于ubuntu镜像创建一个容器并执行echo命令。

$ sudo docker run ubuntu echo "hello world"
hello world
  • 1
  • 2

实例2:基于Ubuntu镜像创建一个名为test的容器,并为它分配一个伪终端执行/bin/bash命令,用户可以在该伪终端与容器进行交互。

$ sudo docker run -i -t --name test ubuntu /bin/bash

root@672f99f6998d:/# df -h
  • 1
  • 2
  • 3

start/stop/restart

start :Start one or more stopped containers 
stop :Stop a running container 
restart :Restart a running container 
使用方法:docker start CONTAINER [CONTAINER…] 
使用说明:这组命令可以开启(两个:start, restart),停止(一个:stop)一个容器。

镜像仓库命令

login

login: Register or log in to a Docker registry 
使用方法:docker login [OPTIONS] [SERVER] 
使用说明:登录Hub服务。

logout

logout: Log out from a Docker registry

pull/push

pull : Pull an image or a repository from a registry 
push : Push an image or a repository to a registry 
使用方法:docker push NAME[:TAG] 
使用说明:通过此命令分享Image到Hub服务或者自服务的Registry服务。 
实例:

#从官方Hub拉取ubuntu:lastest镜像
$sudo docker pull ubuntu

#从官方Hub拉取指明“ubuntu 12.04”tag的镜像
$sudo docker pull ubuntu:ubuntu12.04

#从特定仓库拉取ubuntu:lastest镜像
$sudo docker pull SEL/ubuntu

#从其他服务器拉取镜像
$sudo docker pull 10.0.1.103:5000/sshd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

search

search: Search the Docker Hub for images 
使用方法:docker search TERM 
使用说明:通过关键字搜索分享的Image。

镜像管理

build

build: Build an image from a Dockerfile 
使用方法:docker build [OPTIONS] PATH | URL | - 
使用说明:这个命令是从源码构建新Image的命令。

images

images: List images 
使用方法:docker images [OPTIONS] [NAME] 
使用说明:Docker Image是多层结构的,默认只显示最顶层的Image。不显示的中间层默认是为了增加可复用性、减少磁盘使用空间,加快build构建的速度的功能,一般用户不需要关心这个细节。

import/save/load

import: Import the contents from a tarball to create a filesystem image 
save: Save an image(s) to a tar archive 
load: Load an image from a tar archive or STDIN 
使用方法: 
docker import URL|- [REPOSITORY[:TAG]] 
docker save IMAGE 
docker load 
使用说明:这一组命令是系统运维里非常关键的命令。加载(两种方法: import, load),导出(一种方法: save)容器系统文件。

rmi

rmi: Remove one or more images 
使用方法:docker rmi IMAGE [IMAGE…] 
使用说明:指定删除Image文件。

tag

tag: Tag an image into a repository 
使用方法:docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] 
使用说明:组合使用用户名,Image名字,标签名来组织管理Image。

commit

commit: Create a new image from a container’s changes 
使用方法:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 
使用说明:提交保存时,只能选用正在运行的容器(即可以通过docker ps查看到的容器)来制作新的镜像。这个命令的用处在于把有修改的container提交成新的Image,然后导出此Imange分发给其他场景中调试使用。Docker官方的建议是,当你在调试完Image的问题后,应该写一个新的Dockerfile文件来维护此Image。commit命令仅是一个临时创建Imange的辅助命令。

容器运维操作

attach

attach : Attach to a running container 
使用方法:docker attach [OPTIONS] CONTAINER 
使用说明:使用这个命令可以挂载正在后台运行的容器,在开发应用的过程中运用这个命令可以随时观察容器內进程的运行状况。开发者在开发应用的场景中,这个命令是一个非常有用的命令。

export

export : Export a container’s filesystem as a tar archive 
使用方法:docker export CONTAINER 
使用说明:把容器系统文件打包并导出来,方便分发给其他场景使用。

inspect

inspect: Return low-level information on a container or image 
使用方法:docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE…] 
使用说明:查看容器运行时详细信息的命令。了解一个Image或者Container的完整构建信息就可以通过这个命令实现。

port

port: List port mappings or a specific mapping for the CONTAINER 
使用方法:docker port CONTAINER PRIVATE_PORT 
使用说明:打印出Host主机端口与容器暴露出的端口的NAT映射关系

ps

ps: List containers 
使用方法:docker ps [OPTIONS] 
使用说明:docker ps打印出正在运行的容器。docker ps -a打印出所有运行过的容器;docker ps -l查看最新创建的容器。

rename

rename: Rename a container

stats

stats: Display a live stream of container(s) resource usage statistics

top

top: Display the running processes of a container 
使用方法:docker top CONTAINER [ps OPTIONS] 
使用说明:显示容器內运行的进程。

wait

wait : Block until a container stops, then print its exit code 
使用方法:docker wait CONTAINER [CONTAINER…] 
使用说明:阻塞对指定容器的其他调用方法,直到容器停止后退出阻塞。

cp

cp: Copy files/folders from a container to a HOSTDIR or to STDOUT 
使用方法:cp CONTAINER:PATH HOSTPATH 
使用说明:使用cp可以把容器內的文件复制到Host主机上。这个命令在开发者开发应用的场景下,会需要把运行程序产生的结果复制出来的需求,在这个情况下就可以使用这个cp命令。

diff

diff: Inspect changes on a container’s filesystem 
使用方法:docker diff CONTAINER 
使用说明:diff会列出3种容器内文件状态变化(A - Add, D - Delete, C - Change )的列表清单。构建Image的过程中需要的调试指令。

系统日志信息

events

events: Get real time events from the server 
使用方法:docker events [OPTIONS] 
使用说明:打印容器实时的系统事件。

history

history: Show the history of an image 
使用方法:docker history [OPTIONS] IMAGE 
使用说明:打印指定Image中每一层Image命令行的历史记录。

logs

logs: Fetch the logs of a container 
使用方法:docker logs CONTAINER 
使用说明:批量打印出容器中进程的运行日志。


相关标签: Docker 命令

上一篇: 数据库SQLite

下一篇: