2025年必备的Docker命令指南与实战示例

Docker作为容器化技术的代表,已经深刻地影响了现代软件开发和运维工作。在2025年,Docker不仅仅是开发者的必备工具,也成为了自动化部署和持续集成的基石。那么,作为开发人员和运维人员,我们应该如何高效地使用Docker命令来管理容器,构建镜像,以及实现自动化部署呢?今天,A5数据在香港服务器www.a5idc.com上通过一系列实用的Docker命令示例,带你一步步走进容器化的世界。

1. Docker 安装与设置

在开始使用Docker之前,我们需要先安装并配置Docker。在大多数Linux发行版上,使用以下命令即可安装Docker:

bash 复制代码
sudo apt-get update
sudo apt-get install docker.io

安装完成后,通过运行以下命令启动Docker服务:

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

然后,使用docker --version检查Docker是否正确安装:

bash 复制代码
docker --version

如果一切顺利,你应该能看到Docker的版本号。

2. 启动与停止容器

启动容器

使用docker run命令可以启动一个新的容器。比如,我们想运行一个简单的Nginx服务器:

bash 复制代码
docker run -d -p 80:80 nginx

这条命令会从Docker Hub拉取Nginx镜像,并在后台运行。-p 80:80的意思是将容器的80端口映射到主机的80端口。

停止容器

如果你想停止一个正在运行的容器,可以使用docker stop命令,后面跟容器ID或名称:

bash 复制代码
docker stop <container_id_or_name>

例如:

bash 复制代码
docker stop my_nginx_container
重启容器

如果容器需要重启,可以使用以下命令:

bash 复制代码
docker restart <container_id_or_name>

3. 容器管理

查看容器状态

想知道所有容器的当前状态,可以使用:

bash 复制代码
docker ps

要查看所有容器(包括已停止的容器),使用:

bash 复制代码
docker ps -a
查看容器日志

如果容器在运行中出现问题,可以通过查看日志来调试。使用docker logs命令:

bash 复制代码
docker logs <container_id_or_name>

如果你希望实时查看日志,可以加上-f参数:

bash 复制代码
docker logs -f <container_id_or_name>

4. 镜像管理

拉取镜像

要从Docker Hub获取镜像,使用docker pull命令。比如,我们想拉取最新版本的ubuntu镜像:

bash 复制代码
docker pull ubuntu
列出本地镜像

要查看本地存储的所有镜像,使用:

bash 复制代码
docker images
删除镜像

当你不再需要某个镜像时,可以删除它,使用docker rmi命令:

bash 复制代码
docker rmi <image_name_or_id>

例如:

bash 复制代码
docker rmi ubuntu

5. 构建自定义镜像

除了使用已有的镜像,Docker允许你基于自己的需求构建镜像。首先,在项目目录下创建一个Dockerfile,它定义了如何构建镜像。以下是一个简单的Dockerfile示例:

Dockerfile 复制代码
# 使用官方Node.js镜像作为基础镜像
FROM node:14

# 设置工作目录
WORKDIR /app

# 拷贝本地文件到容器中
COPY . .

# 安装依赖
RUN npm install

# 暴露容器端口
EXPOSE 3000

# 运行应用
CMD ["npm", "start"]

然后,通过docker build命令构建镜像:

bash 复制代码
docker build -t my_node_app .

6. Docker 网络与数据管理

创建自定义网络

默认情况下,Docker会将容器连接到一个名为bridge的默认网络。如果你需要创建自定义网络,可以使用以下命令:

bash 复制代码
docker network create my_network
持久化数据

Docker容器是短暂的,一旦容器删除,容器内的数据就会丢失。为了避免数据丢失,我们可以使用数据卷(Volumes)来持久化数据。

bash 复制代码
docker volume create my_volume

创建好数据卷后,可以在启动容器时挂载它:

bash 复制代码
docker run -d -v my_volume:/data my_image

7. Docker Compose - 管理多容器应用

当你的应用需要多个容器协同工作时,使用docker-compose是一个很好的选择。首先,定义一个docker-compose.yml文件:

yaml 复制代码
version: '3'

services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

然后,通过以下命令启动应用:

bash 复制代码
docker-compose up -d

要停止应用:

bash 复制代码
docker-compose down

8. 总结

Docker命令虽然简单,但强大无比。从容器管理到镜像构建,再到数据持久化和多容器应用的管理,Docker已经逐步改变了我们开发和运维的方式。掌握这些基础命令后,你将能够轻松应对开发、测试和生产环境中的各种挑战。

随着Docker技术的不断发展,未来会有更多新的命令和功能待我们去探索。在2025年,Docker依然是你保持敏捷开发和高效运维的必备工具,让我们一起拥抱容器化,迎接更加智能化的技术未来吧!

相关推荐
赵谨言3 分钟前
红蓝对抗Docker渗透复盘-技能与产出汇总
docker·容器·eureka
I'mChloe3 小时前
Windows部署BiliNote:Docker安装、AI视频转写、Markdown笔记与cpolar远程访问
人工智能·windows·docker
打工仔折腾 AI4 小时前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问
运维·人工智能·后端·python·docker·容器·ai agent 实战
天衍四九-5 小时前
Docker Compose企业实战系列(八·终章):多环境隔离实战,开发/测试/生产一键切换
运维·docker·容器
shjita6 小时前
centos中安装docker
linux·docker·centos
ysu_03146 小时前
Docker-Desktop-WSL2实战指南-Windows从安装配置到项目容器化
windows·python·docker·容器·composer·dockerfile·wsl2
天衍四九-7 小时前
Docker Compose企业实战系列(三):Vue/React前端项目容器化完整部署
前端·vue.js·docker
陈陈CHENCHEN7 小时前
【Kubernetes】纯 IPv6 K8s 集群访问外部 IPv4 服务
云原生·容器·kubernetes
明王明王8 小时前
从零搭建一个 AI Infra 实验室⑫:Docker 为什么默认看不到 GPU
人工智能·docker·容器
天衍四九-8 小时前
Docker Compose企业实战系列(四):Redis生产级部署|密码加固、持久化、内存优化完整方案
redis·docker·容器