docker常用指令

当然可以!Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中。以下是一些 Docker 的常用命令及其简要说明,适合初学者参考:

1. Docker 镜像相关命令

a. 拉取镜像

从 Docker 仓库拉取一个镜像。

bash 复制代码
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

示例:

bash 复制代码
docker pull ubuntu:20.04

这将从 Docker Hub 拉取 Ubuntu 20.04 版本的镜像。

b. 列出本地镜像

查看本地存储的 Docker 镜像。

bash 复制代码
docker images [OPTIONS] [REPOSITORY[:TAG]]

示例:

bash 复制代码
docker images

这将列出所有本地镜像及其详细信息。

c. 删除镜像

删除一个或多个本地镜像。

bash 复制代码
docker rmi [OPTIONS] IMAGE [IMAGE...]

示例:

bash 复制代码
docker rmi ubuntu:20.04

这将删除 Ubuntu 20.04 版本的镜像。

d. 构建镜像

根据 Dockerfile 构建一个新的镜像。

bash 复制代码
docker build [OPTIONS] PATH | URL | -

示例:

bash 复制代码
docker build -t my-app:1.0 .

这将在当前目录下的 Dockerfile 构建一个名为 my-app、标签为 1.0 的镜像。

2. Docker 容器相关命令

a. 运行容器

创建一个新的容器并运行一个命令。

bash 复制代码
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

示例:

bash 复制代码
docker run -it --name my-ubuntu ubuntu:20.04 /bin/bash

这将启动一个交互式的 Ubuntu 容器,并进入 bash shell。

b. 列出正在运行的容器

查看当前正在运行的容器。

bash 复制代码
docker ps [OPTIONS]

示例:

bash 复制代码
docker ps

这将列出所有正在运行的容器。

c. 列出所有容器

查看所有容器,包括停止运行的。

bash 复制代码
docker ps -a [OPTIONS]

示例:

bash 复制代码
docker ps -a

这将列出所有容器,包括停止运行的。

d. 停止容器

停止一个或多个运行中的容器。

bash 复制代码
docker stop [OPTIONS] CONTAINER [CONTAINER...]

示例:

bash 复制代码
docker stop my-ubuntu

这将停止名为 my-ubuntu 的容器。

e. 启动容器

启动一个已经停止的容器。

bash 复制代码
docker start [OPTIONS] CONTAINER [CONTAINER...]

示例:

bash 复制代码
docker start my-ubuntu

这将启动名为 my-ubuntu 的容器。

f. 删除容器

删除一个或多个容器。

bash 复制代码
docker rm [OPTIONS] CONTAINER [CONTAINER...]

示例:

bash 复制代码
docker rm my-ubuntu

这将删除名为 my-ubuntu 的容器。

g. 查看容器日志

查看容器的日志输出。

bash 复制代码
docker logs [OPTIONS] CONTAINER

示例:

bash 复制代码
docker logs my-ubuntu

这将显示 my-ubuntu 容器的日志。

h. 进入容器

进入一个正在运行的容器。

bash 复制代码
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

示例:

bash 复制代码
docker exec -it my-ubuntu /bin/bash

这将进入名为 my-ubuntu 的容器的 bash shell。

3. Docker 网络相关命令

a. 创建网络

创建一个新的 Docker 网络。

bash 复制代码
docker network create [OPTIONS] NETWORK

示例:

bash 复制代码
docker network create my-network

这将创建一个名为 my-network 的网络。

b. 列出网络

查看所有 Docker 网络。

bash 复制代码
docker network ls [OPTIONS]

示例:

bash 复制代码
docker network ls

这将列出所有 Docker 网络。

c. 删除网络

删除一个或多个 Docker 网络。

bash 复制代码
docker network rm [OPTIONS] NETWORK [NETWORK...]

示例:

bash 复制代码
docker network rm my-network

这将删除名为 my-network 的网络。

4. Docker 数据卷相关命令

a. 创建数据卷

创建一个新的数据卷。

bash 复制代码
docker volume create [OPTIONS] [VOLUME]

示例:

bash 复制代码
docker volume create my-volume

这将创建一个名为 my-volume 的数据卷。

b. 列出数据卷

查看所有 Docker 数据卷。

bash 复制代码
docker volume ls [OPTIONS]

示例:

bash 复制代码
docker volume ls

这将列出所有 Docker 数据卷。

c. 删除数据卷

删除一个或多个数据卷。

bash 复制代码
docker volume rm [OPTIONS] VOLUME [VOLUME...]

示例:

bash 复制代码
docker volume rm my-volume

这将删除名为 my-volume 的数据卷。

5. Docker Compose 相关命令

Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。

a. 启动服务

启动所有在 docker-compose.yml 中定义的服务。

bash 复制代码
docker-compose up [OPTIONS]

示例:

bash 复制代码
docker-compose up -d

这将以分离模式启动所有服务。

b. 停止服务

停止所有在 docker-compose.yml 中定义的服务。

bash 复制代码
docker-compose down [OPTIONS]

示例:

bash 复制代码
docker-compose down

这将停止并移除所有服务。

c. 查看服务日志

查看服务的日志输出。

bash 复制代码
docker-compose logs [OPTIONS] [SERVICE...]

示例:

bash 复制代码
docker-compose logs -f

这将显示所有服务的实时日志。

6. 其他常用命令

a. 查看 Docker 版本

查看 Docker 的版本信息。

bash 复制代码
docker version [OPTIONS]

示例:

bash 复制代码
docker version
b. 查看 Docker 信息

查看 Docker 的系统范围的信息。

bash 复制代码
docker info [OPTIONS]

示例:

bash 复制代码
docker info
c. 清理未使用的资源

清理未使用的容器、网络、镜像和数据卷。

bash 复制代码
docker system prune [OPTIONS]

示例:

bash 复制代码
docker system prune -a

这将删除所有未使用的容器、网络、镜像和数据卷。

总结

以上是一些 Docker 的常用命令及其简要说明。随着您对 Docker 的深入了解,您会发现更多高级功能和命令。推荐您查阅 Docker 官方文档 以获取更详细的信息和教程。

相关推荐
Cosmoshhhyyy9 分钟前
腾讯云配置了国内镜像依然docker search失败
docker·云计算·腾讯云
love530love24 分钟前
是否需要预先安装 CUDA Toolkit?——按使用场景分级推荐及进阶说明
linux·运维·前端·人工智能·windows·后端·nlp
m0_6948455744 分钟前
日本云服务器租用多少钱合适
linux·运维·服务器·安全·云计算
bxlj_jcj44 分钟前
Kafka环境搭建全攻略:从Docker到Java实战
java·docker·kafka
一心0921 小时前
Linux部署bmc TrueSight 监控agent步骤
linux·运维·服务器·监控·bmc truesight
Florence231 小时前
linux中执行脚本命令的source和“.”和“./”的区别
linux·运维·服务器
白日依山尽yy1 小时前
Linux02
linux·运维·服务器
JavaAlpha1 小时前
Jenkins 配置信息导出 的详细说明(中英对照)
运维·servlet·jenkins
Blossom.1182 小时前
基于区块链的去中心化身份验证系统:原理、实现与应用
运维·服务器·网络·人工智能·机器学习·去中心化·区块链
老实巴交的麻匪2 小时前
可观测性 | Grafana Loki 日志聚合方案快速体验
运维·云原生·容器