Docker容器的一些命令按功能分类大致如下
Docker环境信息 info、version
镜像仓库命令 login、logout、pull、push、search
镜像管理 build、images、import、load、rmi、save、tag、commit
容器生命周期管理 create、exec、kill、pause、restart、rm、run、start、stop、unpause
容器运维操作 attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff、update
容器资源管理 volume、network
系统信息日志 events、history、logs
1.events打印容器的实时系统事件
2.history 打印出指定镜像的历史版本信息
3.logs打印容器中进程的运行日志
列出本地镜像
docker images -a #列出本地所有的镜像
docker images -q #只显示镜像ID
docker images --digests #显示镜像的摘要信息
docker images --no-trunc #显示完整的镜像信息
查看容器
# 查看正在运行的容器
docker ps
# 查看所有容 包括停止的容器
docker ps -a
# -q参数,只显示container id
docker ps -q
# 查看容器详细信息
docker inspect demo1
容器启动与停止
#新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;--name 为容器指定一个名称
docker run -i -t --name mycentos 镜像名称/镜像ID
#后台启动容器,参数:-d 已守护方式启动容器
docker run -d mycentos
#启动止容器
docker start 容器id
# 重启容器
docker restart 容器id
# 关闭容器
docker kill 容器id
docker stop 容器id
-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器
#运行centos镜像
[root@izbp1hcw0fjg64l58525bqz ~]# docker run -it centos
# 查看镜像文件目录
[root@9ec4a30b3209 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@9ec4a30b3209 /]#exit
#并没有运行中的镜像
[root@izbp1hcw0fjg64l58525bqz ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
删除镜像命令
#单个镜像删除,相当于:docker rmi java:latest
docker rmi java
#强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
docker rmi -f java
#多个镜像删除,不同镜像间以空格间隔
docker rmi -f java tomcat nginx
#删除本地全部镜像
docker rmi -f $(docker images -q)
下载镜像:docker pull nginx:1.21.1
查看本地镜像列表:docker images
导出镜像:docker save nginx:1.21.1 -o
删除镜像:docker rm 993ef3592f66 #镜像id
导入镜像:docker image load -i nginx.tar.gz
导入镜像:docker image import nginx。tar.gz #这样的导入时没有名字的镜像
给镜像打tag:docker image tag 993ef3592f66 nginx:nginx_test
清除无效镜像:docker image prune
构建镜像:docker image build -t nginx_file_slx:v1
查看构建历史:docker image history contos:7 --no-trunc
查看已经创建的容器:docker container ps -a
运行一个创建的容器:docker container start b0a46280a223
停止一个正在运行的容器:docker container stop elastic_albattani
重启容器:docker container restart b0a46280a223
创建并启动一个容器(run=create+start):docker container run -it --name contos_slx centos:7
-i : interactive 表示交互的类型
-t:terminal 表示启动一个终端
-d:让容器在后台运行,默认的情况下,容器是在前台运行的,这意味会阻塞当前终端
--name:创建容器的时候指定名字
注意:docker run的时候。所有的参数,必须写在镜像名称的前面
删除容器:docker container rm -f 镜像id
批量删除容器:docker container rm -f `docker container ps -a -q`
进入荣区并不创建新的终端:docker container attach 镜像id
进入容器并创建新的终端:docker container exec -it 镜像id /bin/bash
强杀容器:docker container kill 镜像名称
显示正在运行的容器中的进程:docker container top 镜像id
对镜像的名称进行重命名:docker container rename practical_nash nginx_slx
获取容器的启动日志:docker container logs -f nginx_slx
查看前5行:docker container logs -f -n 5 nginx_slx
将宿主机的数据拷贝到容器内:docker exec -it 91140337635e /bin/bash
显示容器资源使用统计信息的实时流:docker container stats --no-stream
暂停容器运行:docker container pause nginx_slx
恢复容器运行:docker container unpause nginx_slx
docker wait 命令可以用于阻塞一个或多个 Docker容器 直到容器停止,然后打印退出代码
将容器的文件系统导出为tar存档:docker container export nginx_slx -o nginx.tar.gz
显示一个或者多个容器的详细信息:docker container inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx_slx
推荐阅读:
https://docs.docker.com/engine/reference/commandline/inspect/
参考文档: