文章目录
- Docker安装
- 镜像管理
- 列出镜像
- 命令解析
- 功能
- 输出信息
- 示例
- 用途
- 拉取镜像
- 构建镜像
- 查找镜像
- 删除镜像
- 清理无用镜像
- 容器管理
- 运行容器
- 命令解析
- 运行容器
- 可选参数
- 示例
- 列出容器
- 列出所有容器(包括停止的)
- 停止容器
- 启动容器
- 进入容器
- 删除容器
- 清理无用容器
- 容器日志
- 查看容器日志
- 查看实时容器日志
- 数据卷管理
- 创建数据卷
- 列出数据卷
- 删除数据卷
- 端口映射
- 运行容器并映射端口
- 安全相关
- 运行容器并限制资源
- 容器详情
- 查看容器详细信息
- 查看容器状态
- 镜像构建优化
- 构建镜像并指定缓存策略
- 容器文件拷贝
- 从容器拷贝文件到主机
- 从主机拷贝文件到容器
- 其他操作
- 显示 Docker 版本信息
- 显示 Docker 系统信息
- 显示 Docker 网络信息
- 创建 Docker 网络
- 删除 Docker 网络
Docker安装
Docker安装
镜像管理
列出镜像
docker images
命令解析
-
docker
: 这是 Docker 命令行工具的名称,用于与 Docker 守护程序进行通信。 -
images
: 这是 Docker 命令的一个子命令,用于列出本地存储的镜像。
功能
docker images
命令用于列出本地存储的所有 Docker 镜像。
输出信息
执行 docker images
命令后,会输出一个表格,包含以下列:
-
REPOSITORY: 镜像的仓库源(repository)名称。
-
TAG: 镜像的标签(tag),标识镜像的不同版本。
-
IMAGE ID: 镜像的唯一标识符,通常是一个 SHA256 的哈希值。
-
CREATED: 镜像创建的时间戳。
-
SIZE: 镜像的大小,通常以 MB(兆字节)为单位。
示例
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 94e814e2efa8 5 days ago 64.2 MB
nginx latest 23d1a0d9042a 2 weeks ago 132 MB
在这个示例中,列出了两个镜像:
-
一个是名为
ubuntu
的镜像,标签为latest
,创建于 5 天前,大小为 64.2 MB。 -
另一个是名为
nginx
的镜像,标签为latest
,创建于 2 周前,大小为 132 MB。
用途
-
了解本地存储的镜像信息,包括镜像的来源、版本、创建时间以及大小。
-
可以根据列出的镜像信息选择合适的镜像来运行容器,或者删除不再需要的镜像来释放磁盘空间。
拉取镜像
docker pull <image_name>
构建镜像
docker build -t <image_name> <path_to_Dockerfile>
查找镜像
docker search <image_name>
从Docker Hub查找镜像
删除镜像
docker rmi <image_name>
清理无用镜像
docker image prune
容器管理
运行容器
docker run <image_name>
命令解析
docker
: 这是 Docker 命令行工具的名称,用于与 Docker 守护程序进行通信。run
: 这是 Docker 命令的一个子命令,指示 Docker 启动一个新的容器。<image_name>
: 这是要运行的容器的镜像名称。
运行容器
-
Docker 检查本地是否已经存在指定的镜像。如果不存在,它会尝试从 Docker Hub 或者其他注册表拉取相应的镜像。
-
Docker 使用指定的镜像创建一个新的容器实例。
-
Docker 启动容器,并根据镜像的设置配置容器的环境变量、网络、存储等。这包括挂载数据卷、指定环境变量、设置网络参数等。
-
Docker 启动容器的进程。这通常是容器镜像中指定的默认命令,但你也可以在
docker run
命令中通过附加参数来指定要运行的特定命令。
可选参数
-
-d
或--detach
: 以守护进程模式运行容器,即在后台运行容器。 -
-p
或--publish
: 将容器的端口映射到主机的指定端口。 -
-v
或--volume
: 将主机文件系统的路径挂载到容器内部,用于共享文件或数据。 -
-e
或--env
: 设置容器的环境变量。 -
--name
: 为容器指定一个名称,以便于识别和管理。 -
-it
: 这两个参数一起使用,表示使用交互式终端(tty)运行容器,通常用于与容器进行交互式操作。
示例
docker run -d -p 8080:80 --name my_container my_image
这个示例命令将会:
-
以守护进程模式在后台运行镜像
my_image
创建的容器。 -
将容器的端口 80 映射到主机的端口 8080。
-
给容器指定名称为
my_container
。
这样就创建并运行了一个名为 my_container
的容器,它基于镜像 my_image
并且在后台监听主机的端口 8080
列出容器
docker ps
列出所有容器(包括停止的)
docker ps -a
停止容器
docker stop <container_id>
启动容器
docker start <container_id>
进入容器
docker exec -it <container_id> /bin/bash
删除容器
docker rm <container_id>
清理无用容器
docker container prune
当然,还有其他一些常用的 Docker 命令,包括容器日志、数据卷、端口映射等管理。
容器日志
查看容器日志
docker logs <container_id>
查看实时容器日志
docker logs -f <container_id>
数据卷管理
创建数据卷
docker volume create <volume_name>
列出数据卷
docker volume ls
删除数据卷
docker volume rm <volume_name>
端口映射
运行容器并映射端口
docker run -p <host_port>:<container_port> <image_name>
安全相关
运行容器并限制资源
docker run --name <container_name> --memory <limit> --cpu-shares <limit> <image_name>
当然,还有更多 Docker 命令,包括容器状态、镜像构建优化、容器文件拷贝等等。
容器详情
查看容器详细信息
docker inspect <container_id>
查看容器状态
docker inspect <container_id> | grep "Status"
镜像构建优化
构建镜像并指定缓存策略
docker build --no-cache -t <image_name> <path_to_Dockerfile>
容器文件拷贝
从容器拷贝文件到主机
docker cp <container_id>:<source_path_in_container> <destination_path_on_host>
从主机拷贝文件到容器
docker cp <source_path_on_host> <container_id>:<destination_path_in_container>
其他操作
显示 Docker 版本信息
docker version
显示 Docker 系统信息
docker info
显示 Docker 网络信息
docker network ls
创建 Docker 网络
docker network create <network_name>
删除 Docker 网络
docker network rm <network_name>