赞
踩
- docker info : 显示 Docker 系统信息,包括镜像和容器数。
- docker version :显示 Docker 版本信息。
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 tomcat #删除镜像前需要删除容器,不然会提示错误
- docker rmi images1 images2 #删除多个镜像
docker search tomcat #搜索tomcat
- docker build -t springbootweb-dev -f Dockerfile-dev ./ #使用Dockerfile-dev构建springbootweb-dev的镜像
-
-
- docker build -t springbootweb-dev -f Dockerfile-dev -–no-cache ./ #不使用缓存构建
- #将imagae文件导入到docker
- docker load -i dockerimagefile
- #导出image到本地文件中
- docker save -o 镜像名 镜像文件名
如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
如果未指定镜像仓库地址,默认为官方仓库 Docker Hubdocker import : 从归档文件中创建镜像。
- 启动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 run -p 8080:80 my-web-app
- 随机端口映射:
- #docker run -P my-web-app
- #多个端口映射
- docker run -p 8080:80 -p 5432:5432 my-web-app
- #容器间通信端口,并且对外暴露80端口
- docker run --network=my-network --expose 80 my-service-a
- 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 rm my-tomcat #删除容器
docker exec -it my-tomcat1 bash (或者/bin/bash) #进入tomcat容器(或者其他)
- docker cp /mnt/hgfs/LinuxShare/springbootwar.war my-tomcat1:/ #拷贝本地文件到容器中
- docker cp my-tomcat1:/usr/local/tomcat/logs ./ #拷贝容器中文件到本地
docker logs -f my-tomcat1 --tail 20 #--tail :仅列出最新N条容器日志,-f : 跟踪日志输出(类似tail -f)
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
- docker inspect springbootweb-dev #查看镜像信息
- docker inspect f205b85335a0 #查看容器信息
- # 开启容器自启动
- docker update --restart=always 【容器名】
- 例如:docker update --restart=always tracker
-
-
- # 关闭容器自启动
- docker update --restart=no【容器名】
- 例如:docker update --restart=no tracker
-
- ##### 相关配置解析
- no:
- 不要自动重启容器。(默认)
-
- on-failure:
- 如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。
-
- always:
- 如果容器停止,请务必重启容器。如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。(参见重启政策详情中列出的第二个项目)
-
- unless-stopped:
- 类似于always,除了当容器停止(手动或其他方式)时,即使在Docker守护程序重新启动后也不会重新启动容器。
- #连接上容器,类似up创建启动容器,如果连接上退出,则会将容器也退出
- docker attach docker_registry
docker top docker_registry
列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。
docker commit -a "bpf" -m "add docker and tools" docker_contain docker_image
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。