Docker之常用命令

1.通用命令

docker version:查看版本等相关信息

docker info:查看容器镜像等相关信息

docker --help:查看docker有哪些命令,当你记不住docker的命令的时候,可使用这个命令查看;

 案例:

 

2.镜像相关的命令

2.1.查看本机所有镜像

docker images

 注意:

1.同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

如果你不指定一个镜像的版本标签,例如你只使用hello-world,docker 将默认使用 hello-world:latest 镜像;

2.其他可以使用的参数

docker images -a:查询本地所有镜像,包括镜像中的镜像(中间层)

docker images -q:只显示镜像id

docker images --digests:显示镜像摘要信息

docker images --no-trunc:显示完整的进行信息

常用的组合参数:

docker images -aq:显示镜像所有id,包括中间层的id

案例如下:

 2.2.根据名称查询镜像仓库中的镜像

以查询redis镜像为实际案例

1.直接在网站上查询:https://hub.docker.com ,有点类似在maven仓库找jar包的感觉,

 2.使用命令查询

docker search redis

 其他可以使用的参数:

docker search  --no-trunc redis : 显示完整的镜像描述信息

docker search -s 50 redis : 只列出收藏大于 50 的镜像

 2.3.下载镜像

以下载Tomcat镜像为例:

 docker pull tomcat

 

 2.4.删除镜像

docker rmi -f 镜像id

docker rmi -f ${docker images -qa}

3.容器相关的命令

先下载一个:centos,已安装CentOS为例讲解

执行命令:docker pull centos

3.1.新建并启动容器

启动容器命令公式: docker run 【可选参数】 镜像名称 【可选其他参数】

案例:

#使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it centos /bin/bash

 其他参数介绍:

--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
  ip:hostPort:containerPort
  ip::containerPort
  hostPort:containerPort
  containerPort

在容器中的centos与平时我们使用的centos一样,你可以建立文件、查看进程等操作;

案例:

退出并关闭容器:

exit

启动守护式的容器

-d: 后台运行容器,并返回容器ID,也即启动守护式容器

docker run -d centos

 重要说明:

docker启动守护式的容器,就必须有一个前台进程,否则容器会认为没有事情干了,就会自动退出。

假设我们启动的时候不停的打印日志,那么就表示有前台进程了,然后再次观察

docker run -d centos /bin/bash -c "while true;do echo 我正在干活,不要关我;sleep 5;done"

演示容器启动centos,并自定义名称

docker run -it --name centos0807 centos 

 查看启动了那些容器和自定义的容器名称

docker ps

这里大家注意观察:

[root@d9f0eea35d09 /]#  中的 d9f0eea35d09 其实就是容器的id

3.2.参看容器状态相关命令

docker ps [可选参数],不写参数表示只显示正在运行的容器

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器id。
--no-trunc :不截断输出。

3.3.退出容器

1.退出并关闭容器

上面已经演示过,直接exit,即可

2.退出不关闭容器

 3.退出后在进入容器

方式一:docker  exec -it 容器id或名称  /bin/bash

 方式二:docker attach 容器id

 重要说明:

 exec  与 attach 的区别:

exec:启动新的进程进入终端;

attach:不启动新进程,进入终端

 建议:使用exec进入容器

其他说明:

docker exec 其他参数可以使用,docker exec -help 参看:如下

 其实,docker的其他命令都可以按照这个套路来找到,一定要学会举一反三;

3.4.启动已停止的容器

doker start 容器id或名称

3.5.重启容器

doker restart 容器id或名称

3.6.停止容器

1.正常停止

docker stop 容器id或名称

2.强制停止

docker kill 容器id或名称

3.7.删除已停止的容器

1.单个删除

docker rm 容器id

2.批量删除

docker rm -f ${docker ps -aq}

docker ps -a -q|xargs docker rm

 3.9.查看容器日志

docker logs -tf --tail 5 容器id

 -t 是加入时间戳
 -f 跟随最新的日志打印
--tail 数字 显示最后多少条

 3.10.查看容器运行的进程

 查看容器的详细信息

将容器中的文件拷贝到主机上:

3.11.常用命令总结

容器生命周期管理
run
start/stop/restart
kill
rm
pause/unpause
create
exec
容器操作
ps
inspect
top
attach
events
logs
wait
export
port
容器rootfs命令
commit
cp
diff
镜像仓库
login
pull
push
search
本地镜像管理
images
rmi
tag
build
history
save
load
import
info|version
info
version

系统化学习docker教程:

https://www.cnblogs.com/newAndHui/p/13508771.html

原文地址:https://www.cnblogs.com/newAndHui/p/13407590.html