Docker 命令

1.Docker命令

docker info : 显示 Docker 系统信息,包括镜像和容器数。
docker version :显示 Docker 版本信息。

2.镜像命令

docker images : 列出本地镜像。

docker images 

2.1 docker images 命令选项 

选项 作用
–all , -a 显示所有镜像(默认情况下中间镜像不会显示)
–digests 显示镜像摘要信息
–filter , -f 根据给定条件筛选镜像
–format 指定自定义打印格式
–no-trunc 显示完整的镜像ID
–quiet , -q 只显示镜像ID

2.2  –filter选项

docker images --filter="dangling=true" -q #显示未打tag值的镜像
docker rmi -f $(docker images --filter="dangling=true" -q) #删除未打tag值额镜像 
docker images --filter="before=ubuntu:18.04"               #查询ubuntu镜像之前的镜像
docker images --filter="since=redis:latest"                #查询redis镜像之前的镜像
docker images --filter=reference="py*:3*"                  #通过模糊匹配需要使用reference 过滤器,如下为匹配镜像名以py开头,tag值以3开头的镜像

2.3 --format选项 

字段 描述
.ID 镜像 ID
.Repository 镜像名
.Tag 镜像的tag
.Digest 镜像摘要
.CreatedSince 创建的时间跨度
.CreatedAt 创建时间点
.Size 镜像磁盘大小
docker images --format "{{.ID}}: {{.Repository}}"                                                        #只显示ID和Repository
docker rmi $(docker images --format "{{.Repository}}:{{.ID}}" | grep "none"  |awk  -F ':' '{print $2}')  #通过Repository删除镜像

参考:docker images 命令详解_redrose2100的博客-CSDN博客_docker启动images 

docker rmi : 删除本地一个或多少镜像。

docker rmi tomcat  #删除镜像前需要删除容器,不然会提示错误
docker rmi images1 images2 #删除多个镜像

docker search : 从Docker Hub查找镜像

docker search  tomcat  #搜索tomcat

docker build 命令用于使用 Dockerfile 创建镜像。

docker build -t springbootweb-dev ./ -f Dockerfile-dev     #使用Dockerfile-dev构建springbootweb-dev的镜像

docker pull : 从镜像仓库中拉取或者更新指定镜像

docker load : 导入使用 docker save 命令导出的镜像。

docker save : 将指定镜像保存成 tar 归档文件。

docker tag : 标记本地镜像,将其归入某一仓库。

docker history : 查看指定镜像的创建历史。

docker push : 将本地的镜像上传到镜像仓库

要先登陆到镜像仓库

docker login : 登陆到一个Docker镜像仓库

如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker logout : 登出一个Docker镜像仓库.

如果未指定镜像仓库地址,默认为官方仓库 Docker Hubdocker import : 从归档文件中创建镜像。

3.容器命令

docker run :创建一个新的容器并运行一个命令

 启动tomcat:
 docker run --name=my-tomcat1 -p 60000:8080 -d tomcat   
启动tomcat并且把/usr/local/tomcat/webapps/目录映射到
本机的tomcat_pwd:
 docker run --name=my-tomcat-pwd -p 60001:8080  -v   
$PWD/tomcat_pwd:/usr/local/tomcat/webapps/ -d tomcat     
把容器logs目录挂载出来:
docker run --name=springbootweb-dev -p 60000:30000  -v "$(pwd)"/springboot_logs:/SpringBootWeb/logs -d springbootweb-dev    
通过挂载启动外部的jar:
docker run --name=springbootweb-dev -p 60000:30000  -v "$(pwd)"/springbootweb-dev/:/SpringBootWeb  -d java_my  java -jar /SpringBootWeb/SpringBootWeb-1.0.jar --spring.profiles.active=dev   
使主进程不退出:
docker run -d configserver tail -f /dev/null
docker run -d configserver /bin/bash -c "while true;do echo hello docker;sleep 1;done"
docker run -d configserver /bin/bash ping 127.0.0.1
使用交互式启动,使主进程不退出
docker run -i [CONTAINER_NAME or CONTAINER_ID]
使用后台模式和tty选项,使主进程不退出
docker run -dit [CONTAINER_NAME or CONTAINER_ID]

docker ps : 列出容器

docker  ps -a  #查询容器
docker  ps -a |grep   #查询指定的容器

1.1 参数选项 

  -a, --all              Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
  --format string   Pretty-print containers using a Go template
  -n, --last int        Show n last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes al lstates)
  --no-trunc        Don't truncate output
  -q, --quiet           Only display container IDs
  -s, --size            Display total file sizes

2.2 --format自定义格式

名称 含义
.ID 容器ID
.Image 镜像ID
.Command 执行的命令
.CreatedAt 容器创建时间
.RunningFor 运行时长
.Ports 暴露的端口
.Status 容器状态
.Names 容器名称
.Label 分配给容器的所有标签
.Mounts 容器挂载的卷
.Networks 容器所用的网络名称
docker ps --format "table {{.Image}}"   #table:显示表头列名,只列出镜像名称
docker ps -a --format "table {{.ID}}\t{{.Status}}"  #table 显示表头列名

docker start :启动一个或多个已经被停止的容器

docker stop :停止一个运行中的容器

docker restart :重启容器

docker kill :杀掉一个运行中的容器。

docker rm :删除一个或多个容器。

docker rm my-tomcat       #删除容器

docker pause :暂停容器中所有的进程。

docker unpause :恢复容器中所有的进程。

docker create :创建一个新的容器但不启动它。用法同 docker run

docker exec :在运行的容器中执行命令

docker exec -it  my-tomcat1 bash   (或者/bin/bash)  #进入tomcat容器(或者其他)

docker cp :用于容器与主机之间的数据拷贝。

docker cp /mnt/hgfs/LinuxShare/springbootwar.war  my-tomcat1:/   #拷贝本地文件到容器中
docker cp my-tomcat1:/usr/local/tomcat/logs    ./                           #拷贝容器中文件到本地

docker logs : 获取容器的日志

docker logs -f my-tomcat1 --tail 20                 #--tail :仅列出最新N条容器日志,-f : 跟踪日志输出(类似tail -f)

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

docker inspect [OPTIONS] NAME|ID [NAME|ID...]
docker inspect springbootweb-dev                   #查看镜像信息
docker inspect f205b85335a0                        #查看容器信息

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

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

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

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

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

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

docker commit :从容器创建一个新的镜像。

docker commit -a "bpf" -m "add docker and tools" docker_contain  docker_image

docker diff : 检查容器里文件结构的更改。

你可能感兴趣的:(docker,docker)