docker常用命令

直接输入docker --help可以查看Docker的子命令。

总结一下常用命令:

其中<>括起来的参数为必选,[]括起来为可选。

  • docker version 查看docker的版本号,包括客户端、服务端、依赖的Go等
  • docker info 查看系统(docker)层面信息,包括管理的images, containers数等
  • docker search <image> 在docker index中搜索image
  • docker pull <image> 从docker registry server 中下拉image
  • docker push <image|repository> 推送一个image或repository到registry
  • docker push <image|repository>:TAG 同上,指定tag
  • docker inspect <image|container> 查看image或container的底层信息
  • docker images TODO filter out the intermediate image layers (intermediate image layers 是什么)
  • docker images -a 列出所有的images
  • docker ps 默认显示正在运行中的container
  • docker ps -l 显示最后一次创建的container,包括未运行的
  • docker ps -a 显示所有的container,包括未运行的
  • docker logs <container> 查看container的日志,也就是执行命令的一些输出
  • docker rm <container...> 删除一个或多个container
  • docker rm `docker ps -a -q` 删除所有的container
  • docker ps -a -q | xargs docker rm 同上, 删除所有的container
  • docker rmi <image...> 删除一个或多个image
  • docker start/stop/restart <container> 开启/停止/重启container
  • docker start -i <container> 启动一个container并进入交互模式
  • docker attach <container> attach一个运行中的container
  • docker run <image> <command> 使用image创建container并执行相应命令,然后停止
  • docker run -i -t <image> /bin/bash 使用image创建container并进入交互模式, login shell是/bin/bash
  • docker run -i -t -p <host_port:contain_port> 将container的端口映射到宿主机的端口
  • docker commit <container> [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选
  • docker build <path> 寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image
  • docker build -t repo[:tag] 同上,可以指定repo和可选的tag
  • docker build - < <dockerfile> 使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image
  • docker port <container> <container port> 查看本地哪个端口映射到container的指定端口,或者用docker ps 也可以看到。

更详细的功能参数配置:

|-----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 参数 | 解释 |
| --api-enable-cors=false | 开放远程API调用的 CORS 头信息。这个接口开关对想进行二次开 发的上层应用提供了支持. |
| -b, --bridge="" | 挂载已经存在的网桥设备到 Docker 容器里。注意,使用 none 可以停用容器里的网络. |
| --bip="" | 使用 CIDR 地址来设定网络桥的 IP。注意,此参数和 -b 不能一起使用. |
| -D, --debug=false | 开启Debug模式。例如:docker -d -D |
| -d, --daemon=false | 开启Daemon模式. |
| --dns=[] | 强制容器使用DNS服务器.例如: docker -d --dns 8.8.8.8 |
| --dns-search=[] | 强制容器使用指定的DNS搜索域名.例如: docker -d --dns-search example.com |
| -e, --exec-driver="native" | 强制容器使用指定的运行时驱动.例如:docker -d -e lxc |
| -G, --group="docker" | 在后台运行模式下,赋予指定的Group到相应的unix socket上。 注意,当此参数 --group 赋予空字符串时,将去除组信息。 |
| -g, --graph="/var/lib/docker" | 配置Docker运行时根目录 |
| -H, --host=[] | 在后台模式下指定socket绑定,可以绑定一个或多个 tcp://host:port, unix:///path/to/socket, fd://* 或 fd://socketfd。例如: docker -H tcp://0.0.0.0:2375 ps 或者 export DOCKER_HOST="tcp://0.0.0.0:2375″ $ docker ps |
| --icc=true | 启用内联容器的通信. |
| --ip="0.0.0.0″ | 容器绑定IP时使用的默认IP地址. |
| --ip-forward=true | 启动容器的 net.ipv4.ip_forward. |
| --iptables=true | 启动Docker容器自定义的iptable规则. |
| --mtu=0 | 设置容器网络的MTU值,如果没有这个参数,选用默认 route MTU, 如果没有默认route,就设置成常量值 1500. |
| -p, --pidfile="/var/run/docker.pid" | 后台进程PID文件路径. |
| -r, --restart=true | 重启之前运行中的容器. |
| -s, --storage-driver="" | 强制容器运行时使用指定的存储驱动,例如,指定使用devicemapper, 可以这样:docker -d -s devicemapper |
| ---selinux-enabled=false | 启用selinux支持 |
| --storage-opt=[] | 配置存储驱动的参数 |
| --tls=false | 启动TLS认证开关 |
| --tlscacert="/Users/dxiao/.docker/ca.pem" | 通过CA认证过的的certificate文件路径 |
| --tlscert="/Users/dxiao/.docker/cert.pem" | TLS的certificate文件路径 |
| --tlskey="/Users/dxiao/.docker/key.pem" | TLS的key文件路径 |
| --tlsverify=false | 使用TLS并做后台进程与客户端通讯的验证 |
| -v, --version=false | 显示版本信息 |

相关推荐
嗑瓜子儿溜茶水儿8 小时前
docker 部署 kkfileview ; arm64; ky10;
java·docker
九思x9 小时前
通过docker-compose.yml文件一次性安装mysql、minio、redis服务
运维·docker·容器
编程小Y9 小时前
Docker常见问题
docker
scx_link10 小时前
使用docker安装ollama及ollama拉取模型的总结
运维·docker·容器·ollama
Warren9810 小时前
面试和投简历闲聊
网络·学习·docker·面试·职场和发展·eureka·ansible
传奇吉他手千早爱音10 小时前
怎么解决无法拉取Docker镜像?不如我们自己建一个加速站(
docker
java_logo12 小时前
AdguardHome Docker 容器化部署指南
运维·docker·容器·jenkins·adguardhome·部署adguardhome·docker adguard
沉迷技术逻辑12 小时前
Docker部署与常用命令
java·docker·eureka
yuguo.im12 小时前
从零开始:Docker Compose YAML 文件深度解析与最佳实践
运维·docker·容器
laocooon52385788612 小时前
CentOS 8 中可以使用 **yum**(实际上是 **dnf** 的别名)来安装 Docker
linux·docker·centos