常用Docker必掌握命令及参数
Docker Run
docker run命令是从Docker镜像启动容器的门户。它允许您指定镜像名称、选项和运行时配置。
docker run -d -p 8080:80 nginx
-d: 在后台运行容器
-p: 将主机端口映射到容器端口
Docker Pull
在运行容器之前,需要从仓库(如Docker Hub)下载Docker镜像。docker pull命令可以完成此操作。docker pull命令会连接到Docker镜像仓库,并下载指定名称的镜像到本地机器。
docker pull ubuntu:latest
基本语法是:docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
例如:docker pull ubuntu:20.04这会下载官方ubuntu仓库中标签为20.04的镜像。docker pull是一个非常重要的命令,它为后续的docker run提供所需要的镜像。掌握该命令可以获取最新的镜像来创建容器。
Docker PS
查看正在运行的容器列表,可以使用 docker ps 命令。它提供了容器的ID、名称、状态以及端口信息。如果要查看所有的容器,包括已停止的,可以使用 docker ps -a。
docker ps
docker ps 命令的常见用法:
•docker ps - 列出正在运行的容器
•docker ps -a - 列出所有容器(运行中的和已停止的)
•docker ps -q - 只列出容器的ID
•docker ps -s - 显示文件大小
•docker ps --no-trunc - 不截断输出
•docker ps -f 'name=xxx' - 根据条件过滤
掌握 docker ps 可以很方便地查看当前系统中的容器信息。它是确认容器运行状态极为重要的一个命令。可以根据不同的需求组合使用各种参数和过滤条件,来查看指定的容器。
Docker Stop and Docker Start
这两个命令允许控制容器的状态。docker stop 命令可以停止一个运行中的容器,而 docker start 命令可以重新启动一个已停止的容器。docker stop 命令可以通过容器 ID 或者容器名称来停止指定的容器。
docker stop {container_name_or_id}
docker start {container_name_or_id}
举例:
•docker stop my_container
•docker stop 23fasxtyuz5
•docker start 命令用法类似,也可以通过容器 ID 或名称启动一个已停止的容器,例如:docker start my_container
•docker start 23fasxtyuz5
掌握 docker stop 和 docker start 允许您在不销毁容器的情况下,对容器进行停止和重启的操作。两者都是管理容器运行生命周期非常实用的命令。
Docker Logs
docker logs 命令在故障排除和监控方面非常宝贵。它可以检索容器生成的日志。
docker logs {container_name_or_id}
docker logs 命令常见的用法:
•docker logs container_name/container_id - 获取容器的实时日志
•docker logs -f container_name/container_id - 持续流式传输最新日志
•docker logs -t container_name/container_id - 显示时间戳
•docker logs --tail 10 container_name/container_id - 只显示最后10行日志
•docker logs -e container_name/container_id - 显示日志结束时间通过
docker logs,可以查看容器内应用、进程、服务的日志输出。这对调试问题、监控状态非常关键。合理运用 docker logs 的各种选项,可以快速定位和解析容器内部的问题,是排障和监控的好帮手。
Docker Exec
可以使用docker exec在运行中的容器内执行命令,这对于调试或运行管理任务特别有用。
docker exec -it {container_name_or_id} {bash}
docker exec的一些常用方式:
•docker exec -it container_name bash 进入容器并启动交互式shell
•docker exec container_name ls /opt 查看容器内/opt目录
•docker exec container_name cat /var/log/nginx/access.log 输出容器日志
•docker exec -u root container_name apt update 更新软件包
•docker exec -d container_name touch /tmp/execWorks 在后台执行命令
docker exec允许在不进入容器的情况下,直接在容器内执行命令。这比使用docker attach更加安全可靠。掌握docker exec的用法,可以更轻松地管理容器,对容器进行各种调试和诊断。这是Docker的重要能力之一。
Docker Build
当需要创建一个自定义的Docker镜像时,docker build命令可以实现。它使用Dockerfile来定义镜像的指令。
docker build -t custom_image_name .
docker build命令的一般格式如下:
docker build [选项] <上下文路径/URL/->container容器用法
例如:
docker build -t myimage:1.0 .
上述命令会使用当前目录下的Dockerfile,将镜像构建为myimage:1.0。docker build允许按照Dockerfile中的步骤,逐层构建镜像。这使得镜像高度可定制化。可以指定基础镜像,添加文件和目录,安装软件,定义环境变量等等。掌握docker build的用法,可以完全控制镜像的创建,制作出高质量的Docker镜像。这是利用Docker的关键之一。
Docker Images
要列出本地可用的 Docker 镜像,可以使用 docker images 命令。该命令显示镜像的名称、大小和标签信息。
docker images
docker images 命令的常见用法:
•docker images - 列出所有镜像
•docker images -a - 列出本地所有的镜像(含中间镜像层)
•docker images -q - 只显示镜像ID
•docker images ubuntu - 列出名称含有ubuntu的镜像
•docker images --digests - 显示镜像的摘要信息
•docker images --no-trunc - 显示完整的镜像信息
掌握好 docker images 命令可以让你清晰地了解本地的镜像资源情况。可以组合使用不同参数进行过滤和格式化,方便查需要的镜像。这是镜像管理的基础。
Docker RMI
删除不再需要的 Docker 镜像可以释放磁盘空间。docker rmi 命令允许通过名称或 ID 来删除镜像。
docker rmi image_name_or_id
docker rmi 命令的常见用法:
•docker rmi image_name/image_id - 删除指定的镜像
•docker rmi $(docker images -q) - 删除所有镜像
•docker rmi $(docker images -q -f dangling=true) - 删除未打标签的镜像
•docker rmi -f image_id - 强制删除镜像
需要注意的是,如果一个镜像正在被容器使用,那么无法被删除。必须先删除依赖这个镜像的所有容器。掌握docker rmi的用法,可以帮助您清理无用镜像,节省磁盘空间。这是镜像库管理的重要一环。
Docker Network
Docker 提供了网络功能来连接容器和服务。docker network 命令可以帮助管理这些网络。
docker network ls
docker network create my_network
docker network 命令常见用法:
•docker network ls - 列出所有网络
•docker network inspect - 查看一个网络的详细信息
•docker network create - 创建一个网络
•docker network connect - 将容器连接到网络
•docker network disconnect - 断开容器和网络的连接
•docker network rm - 删除一个网络
掌握 docker network 的使用可以让容器和服务间进行安全、高效的通信。可以根据需要创建不同类型的网络拓扑。这是利用 Docker 的网络功能的基础。网络是连接和扩展 Docker 应用的关键。熟练使用 docker network 命令,可以让容器互联互通,构建复杂的分布式系统。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论