【Docker 探索】基本管理命令复盘

【Docker 探索】基本管理命令复盘

引言

Docker 是一种轻量级的容器化技术,通过将应用程序及其依赖项打包在一个可移植的容器中,实现了高度的可移植性和可伸缩性。本文将引导你深入了解 Docker 的基础知识,包括安装、基本管理命令、容器使用、镜像的构建与管理,以及一些最佳实践。

1. Docker 安装和配置

开始之前,我们需要在本地机器上安装 Docker。安装过程因操作系统而异,详细步骤请参考 Docker 官方文档。安装完成后,确保 Docker 服务已启动,并配置正确的用户权限。

2. Docker 基本管理命令

2.1 容器生命周期管理

Docker 的基本管理命令包括启动、停止、重启、暂停和杀死容器。通过 docker run 命令,我们可以启动一个容器。例如:

bash 复制代码
docker run -d --name my-container nginx

这将在后台运行一个基于 nginx 镜像的容器,并命名为 "my-container"。

2.2 容器信息查看

使用 docker ps 可以查看正在运行的容器,而 docker ps -a 则列出所有容器,包括停止的。通过 docker inspect 可以查看容器的详细信息:

bash 复制代码
docker inspect my-container

2.3 容器进入和执行命令

要在运行中的容器中执行命令,可以使用 docker exec

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

这将进入 "my-container" 容器的交互式终端。

2.4 容器删除

通过 docker rm 可以删除容器,而 docker rmi 可以删除镜像:

bash 复制代码
docker rm my-container
docker rmi nginx

这些命令将帮助你管理容器的生命周期。

3. Docker 容器的使用

3.1 容器构建

Docker 使用 Dockerfile 来定义容器的构建过程。一个简单的 Dockerfile 如下:

dockerfile 复制代码
FROM ubuntu
CMD ["echo", "Hello Docker!"]

通过 docker build 命令,我们可以构建镜像:

bash 复制代码
docker build -t my-ubuntu-image .

3.2 数据卷和数据持久化

Docker 提供了数据卷的概念,可以用于容器之间共享数据。可以使用 docker volume 管理数据卷。

bash 复制代码
docker volume create mydata
docker run -v mydata:/app/data my-container

3.3 网络配置

Docker 提供了不同的网络模式,允许容器进行通信。通过 docker network 命令,可以管理容器的网络。

bash 复制代码
docker network create my-network
docker run --network my-network my-container-1
docker run --network my-network my-container-2

3.4 Docker Compose

Docker Compose 是一个工具,用于定义和运行多容器的 Docker 应用程序。通过编写 docker-compose.yml 文件,我们可以管理多个容器的组合。

yaml 复制代码
version: '3'
services:
  web:
    image: nginx
  db:
    image: mysql

通过 docker-compose up 命令,我们可以一次性启动所有服务。

4. Docker 镜像的使用

4.1 镜像获取和分享

Docker Hub 是一个用于分享和获取 Docker 镜像的中央仓库。通过 docker pull 可以从 Docker Hub 下载镜像:

bash 复制代码
docker pull nginx

同时,我们可以使用 docker push 将自己的镜像上传到 Docker Hub。

4.2 镜像管理

通过 docker images 可以查看本地的镜像列表:

bash 复制代码
docker images

通过 docker tag 可以给镜像打标签:

bash 复制代码
docker tag my-ubuntu-image:latest my-ubuntu-image:1.0

通过 docker rmi 可以删除本地的镜像。

相关推荐
唐青枫29 分钟前
http-server:别再双击 index.html,一条命令把目录变成网站
前端·javascript
网安蟹佬霸1 小时前
OSINT开源情报收集实战:从信息搜集到资产测绘(2026最新万字保姆级指南)
前端·网络·安全·web安全·网络安全·开源
单线程_011 小时前
【源码阅读】Vue3 Tokenizer 词法分析器完整状态机流转深度梳理(3.4+ 新版架构)
前端
PBitW2 小时前
PM 丢来 3 个 Excel、12 个功能、4 种情形?用 TRAE Work 30 分钟整理成前端开发文档
前端·trae
tryCbest2 小时前
Docker 从零到精通:知识与跨平台使用指南
docker·容器
风骏时光牛马4 小时前
AIAgent高可用架构:弹性容错与故障自愈的落地实践
前端
IT_陈寒4 小时前
Vue的响应式什么时候会失灵?这个坑我踩了
前端·人工智能·后端
烟锁池塘柳04 小时前
解决 Firefox 浏览器网页文本选中高亮不明显问题(含仅修改特定网站高亮显示的方案)
前端·firefox
Patrick_Wilson4 小时前
Web 认证方案技术指南
前端·后端·面试
开始学AI5 小时前
Codex2API Docker 使用宿主机代理:OAuth Token 兑换 403 问题排查与解决方案
运维·docker·容器