Docker 常用命令及操作使用大全
- 1、docker --help
- 2、docker 信息查询
- 3、docker 镜像命令
- 4、docker 容器命令
1、docker --help
注:若有翻译问题,欢迎大家一起来纠正
用来查询docker的命令
[root@bogon docker]# docker --help
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options
Options:
--config string Location of client config files (default "/root/.docker")
-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default
context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/root/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
- 中文翻译:
[root@bogon docker]# docker——帮助
用法:docker [OPTIONS]命令
容器的自给自足运行时
选项:
——配置字符串 客户端配置文件的配置字符串位置(默认“/root/.docker”)
-c, ——上下文字符串 用于连接守护进程的上下文的名称(覆盖DOCKER_HOST环境变量和用“docker上下文”设置的默认上下文
-D,——调试 启用调试模式
-H,——主机列表 要连接的守护进程套接字
-l,——日志级别字符串 设置日志级别(“debug”|“info”|“warn”|“error”|“fatal”)(默认“info”)
--tls 使用TLS;隐含由--tlsverify
--tlscacert string 仅由此CA签署的信任证书(默认为“/root/.docker/CA.pem”)
--tlscert string TLS证书文件的路径(默认为“/root/.docker/cert.pem”)
--tlskey string TLS密钥文件的路径(默认为“/root/.docker/key.pem”)
-v, --version 打印版本信息并退出
Management Commands
命令 | 解释 |
---|---|
builder | Manage builds |
config | Manage Docker configs |
container | Manage containers |
context | Manage contexts |
engine | Manage the docker engine |
image | Manage images |
network | Manage networks |
node | Manage Swarm nodes |
plugin | Manage plugins |
secret | Manage Docker secrets |
service | Manage services |
stack | Manage Docker stacks |
swarm | Manage Swarm |
system | Manage Docker |
trust | Manage trust on Docker images |
volume | Manage volumes |
- 中文翻译:
命令 | 解释 |
---|---|
builder | 管理构建 |
config | 管理Docker配置 |
container | 管理容器 |
context | 管理上下文 |
engine | 管理docker引擎 |
image | 管理镜像 |
network | 管理网络 |
node | 管理群节点 |
plugin | 管理插件 |
secret | 管理Docker机密 |
service | 管理服务 |
stack | 管理Docker堆栈 |
swarm | 管理集群 |
system | 管理Docker |
trust | 管理对Docker映像的信任 |
volume | 管理卷 |
Commands
命令 | 解释 |
---|---|
attach | Attach local standard input, output, and error streams to a running container |
build | Build an image from a Dockerfile |
commit | Create a new image from a container’s changes |
cp | Copy files/folders between a container and the local filesystem |
create | Create a new container |
diff | Inspect changes to files or directories on a container’s filesystem |
events | Get real time events from the server |
exec | Run a command in a running container |
export | Export a container’s filesystem as a tar archive |
history | Show the history of an image |
images | List images |
import | Import the contents from a tarball to create a filesystem image |
info | Display system-wide information |
inspect | Return low-level information on Docker objects |
kill | Kill one or more running containers |
load | Load an image from a tar archive or STDIN |
login | Log in to a Docker registry |
logout | Log out from a Docker registry |
logs | Fetch the logs of a container |
pause | Pause all processes within one or more containers |
port | List port mappings or a specific mapping for the container |
ps | List containers |
pull | Pull an image or a repository from a registry |
push | Push an image or a repository to a registry |
rename | Rename a container |
restart | Restart one or more containers |
rm | Remove one or more containers |
rmi | Remove one or more images |
run | Run a command in a new container |
save | Save one or more images to a tar archive (streamed to STDOUT by default) |
search | Search the Docker Hub for images |
start | Start one or more stopped containers |
stats | Display a live stream of container(s) resource usage statistics |
stop | Stop one or more running containers |
tag | Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE |
top | Display the running processes of a container |
unpause | Unpause all processes within one or more containers |
update | Update configuration of one or more containers |
version | Show the Docker version information |
wait | Block until one or more containers stop, then print their exit codes |
- 中文翻译:
命令 | 解释 |
---|---|
attach | 将本地标准输入、输出和错误流附加到正在运行的容器中 |
build | 从Dockerfile生成镜像 |
commit | 根据容器的更改创建新镜像 |
cp | 在容器和本地文件系统之间复制文件/文件夹 |
create | 创建新容器 |
diff | 检查对容器文件系统上的文件或目录的更改 |
events | 从服务器获取实时事件 |
exec | 在正在运行的容器中运行命令 |
export | 将容器的文件系统导出为tar存档 |
history | 显示历史镜像 |
images | 镜像列表 |
import | 从tarball导入内容以创建文件系统镜像 |
info | 显示整个系统的信息 |
inspect | 返回Docker对象的低级信息 |
kill | 杀死一个或多个正在运行的容器 |
load | 从tar存档或STDIN加载镜像 |
login | 登录Docker注册表 |
logout | 从Docker注册表注销 |
logs | 获取容器的日志 |
pause | 暂停一个或多个容器中的所有进程 |
port | 列出端口映射或容器的特定映射 |
ps | 容器列表 |
pull | 从注册表中下载镜像或仓库源 |
push | 将镜像或仓库源上传到注册表 |
rename | 重命名容器 |
restart | 重启一个或跟多容器 |
rm | 删除一个或跟多容器 |
rmi | 删除一个或更多镜像 |
run | 在新容器中运行命令 |
save | 将一个或多个镜像保存到tar存档(默认情况下流式传输到STDOUT) |
search | 在Docker Hub中搜索镜像 |
start | 启动一个或多个停止的容器 |
stats | 显示容器资源使用统计信息的实时流 |
stop | 停止一个或更多容器 |
tag | 创建一个引用SOURCE_IMAGE的TARGET_IMAGE标记 |
top | 显示容器的运行进程 |
unpause | 取消暂停一个或多个容器中的所有进程 |
update | 更新一个或多个容器的配置 |
version | 显示Docker版本信息 |
wait | 阻塞直到一个或多个容器停止,然后打印它们的退出代码 |
2、docker 信息查询
2.1 docker version
输出安装的docker版本信息
[root@bogon docker]# docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:25:41 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:24:18 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
root@bogon docker]# docker版本
客户:Docker引擎-社区
版本:19.03.5
API版本:1.40
版本:go1.12.12
Git提交:633 a0ea
建成时间:2019年11月13日星期三7:25:41
OS /拱:linux / amd64
实验:假
服务器:Docker引擎-社区
引擎:
版本:19.03.5
API版本:1.40(最低版本1.12)
版本:go1.12.12
Git提交:633 a0ea
建成时间:2019年11月13日星期三7:24:18
OS /拱:linux / amd64
实验:假
containerd:
版本:1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
版本:1.0.0-rc8 +开发
GitCommit: 3 e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
版本:0.18.0
GitCommit: fec3683
2.2 docker info
输出docker的详细信息
[root@bogon docker]# docker info
Client:
Debug Mode: false
Server:
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 1
Server Version: 19.03.5
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: false
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-1062.9.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 991.3MiB
Name: bogon
ID: 4WKR:FO26:JE6J:5YPJ:SWYW:4XNW:SFCC:DMPC:B65E:LJVA:YFFJ:3R6I
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://g1iul1ny.mirror.aliyuncs.com/
Live Restore Enabled: false
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
WARNING: overlay2: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
Reformat the filesystem with ftype=1 to enable d_type support.
Running without d_type support will not be supported in future releases.
[root@bogon docker]# docker信息
客户:
调试模式:假
服务器:
容器:1
运行:0
暂停:0
停止:1
图片:1
服务器版本:19.03.5
存储驱动:overlay2
xfs文件系统支持:
支持d_type:假
Native Overlay Diff:真
日志记录驱动:json文件
Cgroup驱动:cgroupfs
插件:
体积:本地
网络:桥接主机ipvlan macvlan空覆盖
日志:awslogs fluentd gcplogs gelf journald json-file本地日志条目splunk syslog
群:不活跃
运行时:runc
默认运行时:runc
Init二进制:docker-init
containerd版本:b34a5c8af56e510852c35414db4c1f4fa6172339
e425f80a8c931f88e6d94a8c831b9d5aa481657 runc版本:3
初始化版本:fec3683
安全选项:
seccomp
简介:默认
内核版本:3.10.0-1062.9.1.el7.x86_64
操作系统:CentOS Linux 7(核心)
OSType: linux
架构:x86_64
cpu: 1
总内存:991.3 mib
名称:bogon
ID: 4WKR:FO26:JE6J:5YPJ:SWYW:4XNW:SFCC:DMPC:B65E:LJVA:YFFJ:3R6I
Docker根目录:/var/lib/docker
调试模式:假
注册表: https://index.docker.io/v1/
标签:
实验:假
不安全的注册表:
127.0.0.0/8
注册表镜:
https://g1iul1ny.mirror.aliyuncs.com/
启用实时恢复:false
警告:禁用bridge-nf-call-iptables
警告:bridge-nf-call-ip6tables被禁用
警告:overlay2:备份的xfs文件系统在不支持d_type的情况下进行了格式化,这将导致不正确的行为。
使用ftype=1重新格式化文件系统,以启用d_type支持。
在未来的版本中将不支持不支持d_type的运行。
3、docker 镜像命令
3.1 docker images 镜像列表
Options:-a、-q
Options:–digests
类似于显示备注
Options:–no-trunc
3.2 docker search 搜索镜像
在docker hub上查找镜像信息
START: 点赞数; OFFICIAL: 官方版; AUTOMATED: 自动构建
Options:-s number
搜索点赞数大于等于number的镜像源
搜索点赞数大于30的镜像源
Options:–no-trunc
显示出完整的镜像信息
[root@bogon docker]# docker search -s 30 --no-trunc tomcat
完整列出摘要信息
3.3 docker pull 下载镜像
下载镜像
3.4 docker rmi 删除镜像
删除某个镜像
[root@bogon docker]# docker rmi hello-world
Error response from daemon: conflict: unable to remove repository reference "hello-world" (must force) - container b0d9b169adb5 is using its referenced image fce289e99eb9
// 上述由于容器正在运行,镜像不能够被删除
// 下述用-f来强制删除镜像
[root@bogon docker]# docker rmi -f hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f
Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e
docker rmi -f container:强制删除某一镜像
docker rmi -f container1:tag container2:tag:删除多个镜像
docker rmi -f $(docker images -q):删除全部镜像
注:docker images -q为搜索全部镜像的id,将id传入 $()(类似于JSP里的el表达式引用)进行解析后删除。-q或-qa均可
3.5 docker commit
4、docker 容器命令
4.1 docker run 启动容器
先下载centos镜像,以此来构建容器
Options:-i、-t
-i:启动交互式容器 、-t:启动一个伪终端用于在容器内操作
创建了一个centos容器并且docker自动为生成了对应的名字,完成后,自动进入到centos容器内的根目录下并打开了其终端。
Options:–name
为创建的容器自定义名字
Options:-d
开启后台守护进程,可以在后台运行
但发现启动后,容器却被关闭了,原因是因为没有前台(-it)进程开启用来交互
“while true;do echo hello zzyy;sleep 2 ;done”
以/bin/sh命令格式,运行上述命令,该命令为每隔2秒钟输出一次hello zzyy。虽然没有开启前台进程,但依然可在后台自动运行。
后台启动tomcat也相似
Options:-p、-P
-p:指定端口映射
将容器tomcat的8080端口,映射到宿主机上的8888,即可以在宿主机上输入http://localhost:8888/来访问容器tomcat的8080。
-P:随机端口映射
4.2 docker log 查看容器日志
输出容器运行时的日志信息
Options:-t
附带输出运行时间
Options:-f
docker logs -t -f aec0ca334d93
持续的输出查看容器的运行日志
Options:–tail number
查看倒数的number行
4.3 docker top 查看容器内运行进程
查看容器内运行的进程
4.4 docker inspect 查看容器内细节
输出容器内细节信息
4.5 对正在运行的容器进行命令行交互
Options:exec
exec:向容器内输入一条命令(ls -l /tmp:查看 /tmp下的文件)
特点:可以在宿主机上(容器外面),在不进入容器的情况下向容器内发送命令,并且容器执行命令后将结果输出呈现。
Options:/bin/bash和/bin/sh
/bin/bash的作用在这里表示启动容器后启动bash,因为docker后台必须运行一个进程,否则容器就会退出,一般情况下会默认运行/bin/bash。
也可以在后面添加/bin/sh
Options:attach
重启容器,并进入到了容器内。
4.6 docker cp 拷贝容器内文件到主机
在容器内的/ 路径下创建一个文件“file1”然后暂退容器(后台继续运行),将容器mycentos对应路径下的file1文件拷贝到/root路径下。
4.7 docker commit 提交容器副本成为新镜像
将本机内改动过的容器,提交到本机镜像内
查看到已有新镜像提交到本机内,源名为:atguigu/mytomcat;版本为1.2。
运行该镜像的时候,记得再最后机上冒号和版本号
成功启动
4.7 docker ps 查看容器列表
列出当前所有正在运行的容器
Options:-a
列出所有运行过的容器。
Options: -l
显示上一个容器。
Options:-n number
上number次运行过的容器
显示出了上3次运行过得容器。
Options:-q
显示正在运行的容器编号
Options:–no-trunc
显示所有备注信息,不截断输出。
4.8 docker 退出容器命令
exit
从centos容器中退出并停止,回到宿主机桌面。
Ctrl+P+Q
仅从centos容器中退出,但后台继续运行不停止。
4.9 docker 重启容器
docker start
重启一个之前停止的容器
docker restart
重启一个正在运行的容器
4.10 docker stop 停止容器
docker stop 容器ID或容器名
正常的停止容器
4.11 docker kill 强制停止容器
强制停止运行的容器
4.12 docker rm 删除容器
删除停止的容器
mycentos已被删除
Options:-f
强制删除正在运行的容器
Options:$(docker ps -aq)和 | xargs docker rm
一次性删除全部容器
$(docker ps -aq)
[root@bogon docker]# docker rm -f $(docker ps -aq)
docker ps -aq | xargs docker rm
加入了管道命令,将docker ps -aq查询得到的结果,传入xargs docker rm并执行。
参考视频:尚硅谷Docker命令详解
官网地址:docker.com
若访问出现404错误,
情况(1) :可能是防火墙问题
参考文章:docker 端口映射及外部无法访问问题
情况(2) :可能是tomcat中webapps出现问题
参考文章:Docker方式启动tomcat,访问首页出现404错误
其余参考文档:
Docker 命令大全