当前位置: 首页 > news >正文

如何配置一个简单的docker容器应用?

 一、为什么需要 Docker?

 

在没有 Docker 之前,开发者常常遇到“本地能跑,线上崩了”的问题。这是因为不同环境的依赖、配置存在差异,导致应用运行效果不一致。

 

Docker 通过“容器”解决了这个问题:容器就像一个轻量级的虚拟机,包含了应用运行所需的代码、依赖、环境配置,但又不像虚拟机那样占用大量资源。它能保证应用在任何安装了 Docker 的环境中,都以完全相同的方式运行。

 

二、准备工作:安装 Docker

 

在配置应用前,需要先安装 Docker 环境,步骤非常简单:

 

- Windows/Mac:直接下载 Docker Desktop,按照引导安装即可(注意 Windows 需开启 Hyper-V 或 WSL2 功能)。

- Linux:以 Ubuntu 为例,执行以下命令:

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

 

 

安装完成后,打开终端输入  docker --version ,如果显示版本信息,说明安装成功。

 

三、配置第一个容器应用:Nginx 服务

 

Nginx 是一款常用的 web 服务器,我们以它为例,配置一个简单的容器应用。整个过程只需 3 步,无需编写复杂配置。

 

步骤 1:拉取 Nginx 镜像

 

Docker 中的“镜像”相当于应用的“安装包”,包含了运行所需的所有文件。我们可以直接使用官方提供的镜像,无需自己构建。

 

打开终端,执行以下命令拉取最新的 Nginx 镜像:

 

docker pull nginx

 

 

等待命令执行完成,输入  docker images  可以看到已下载的镜像,类似这样:

 

REPOSITORY TAG IMAGE ID CREATED SIZE

nginx latest abc123456 2 days ago 142MB

 

 

步骤 2:启动 Nginx 容器

 

有了镜像,就可以用它创建并启动容器了。执行以下命令:

 

docker run --name my-nginx -p 8080:80 -d nginx

 

 

这里的参数需要重点理解:

 

-  --name my-nginx :给容器起一个名字(方便后续操作,比如停止、删除)。

-  -p 8080:80 :端口映射。Nginx 默认在容器内的 80 端口运行,通过这个参数,我们把容器的 80 端口映射到本地的 8080 端口,这样就能通过本地端口访问容器内的服务。

-  -d :让容器在后台运行(不会占用终端窗口)。

-  nginx :指定使用的镜像名称。

 

步骤 3:验证应用是否运行

 

容器启动后,我们可以通过浏览器验证效果。打开浏览器,输入  http://localhost:8080 ,如果看到“Welcome to nginx!”的默认页面,说明容器应用已经成功运行。

 

如果想确认容器状态,终端输入  docker ps  命令,会显示当前运行的容器信息,其中包含我们创建的  my-nginx  容器。

 

四、容器常用操作:掌控你的应用

 

掌握以下几个命令,就能轻松管理容器:

 

- 停止容器:如果需要暂时关闭应用,执行  docker stop my-nginx ( my-nginx  是容器名称)。

- 启动容器:停止后想重新运行,执行  docker start my-nginx 。

- 查看所有容器:输入  docker ps -a ,可以看到所有容器(包括已停止的),方便管理历史容器。

- 删除容器:如果不需要这个容器了,先停止它,再执行  docker rm my-nginx (删除前必须停止容器)。

- 进入容器内部:想查看容器内的文件?执行  docker exec -it my-nginx /bin/bash ,就能进入容器的命令行界面(退出输入  exit  即可)。

 

五、进阶:自定义你的 Nginx 页面

 

默认页面太单调?我们可以通过“挂载”本地文件,替换 Nginx 的默认页面,无需修改容器内部文件。

 

1. 在本地创建一个文件夹(比如  ~/my-nginx-html ),并在里面新建  index.html ,写入自定义内容:

<h1>Hello, Docker!</h1>

<p>这是我的第一个容器应用</p>

 

2. 停止并删除之前的容器(如果还在运行):

docker stop my-nginx

docker rm my-nginx

 

3. 重新启动容器,添加文件夹挂载参数:

docker run --name my-nginx -p 8080:80 -v ~/my-nginx-html:/usr/share/nginx/html -d nginx

 

 

其中  -v ~/my-nginx-html:/usr/share/nginx/html  表示将本地的  ~/my-nginx-html  文件夹,挂载到容器内的  /usr/share/nginx/html  目录(Nginx 存放网页文件的位置)。

4. 再次访问  http://localhost:8080 ,就能看到自定义的页面了。以后只需修改本地的  index.html ,页面就会实时更新,非常方便。

 

六、总结

 

通过本文的步骤,我们成功配置了一个基于 Nginx 的 Docker 容器应用,核心流程可以总结为:

 

1. 安装 Docker 环境;

2. 拉取应用镜像;

3. 启动容器并配置端口映射;

4. 验证应用运行状态。

 

Docker 的魅力在于它的简单和强大,这只是一个入门示例,实际开发中,我们还可以用它部署 Python、Java、Node.js 等各种语言的应用。掌握容器化思维,能极大提升开发和部署效率,赶紧动手试试吧!

http://www.dtcms.com/a/281986.html

相关文章:

  • 【2025/07/16】GitHub 今日热门项目
  • 基于 Spring Boot 构建的文件摆渡系统(File Ferry System)
  • Python19 —— 一维数据的处理
  • 小白成长之路-Elasticsearch 7.0 配置
  • Coze工作流无法更新问题处理
  • 如何通过扫描电镜检测汽车清洁度中的硬质颗粒并获取成分信息
  • 【源力觉醒 创作者计划】百度携文心 4.5 入局,开源大模型市场再添一员猛将,与 Qwen3 对比如何?
  • C++修炼:IO流
  • WPF 多窗口分文件实现方案
  • openEuler 22.03 LTS Rootless Docker 安装指南
  • 【MySQL基础】MySQL事务详解:原理、特性与实战应用
  • 每日算法刷题Day49:7.16:leetcode 差分5道题,用时2h
  • c语言-数据结构-二叉树的遍历
  • 数字ic后端设计从入门到精通11(含fusion compiler, tcl教学)全定制设计入门
  • arm版本的ubuntu安装git或者vim等方法
  • 力扣-23.合并K个升序链表
  • Linux 驱动中 Timer / Tasklet / Workqueue 的作用与对比
  • 查看.bin二进制文件的方式(HxD十六进制编辑器的安装)
  • 电路仿真——精密半波整流电路
  • 133. Java 泛型 - 目标类型与方法参数:重载解析与类型推导
  • 网络编程(数据库)
  • 在虚拟环境中复现论文(环境配置)
  • 力扣 hot100 Day46
  • 01 启动流程实例
  • 基于docker的redis集群
  • 开源 python 应用 开发(七)数据可视化
  • 基于大数据电信诈骗行为分析与可视化预测系统的设计与实现【海量数据、多种机器学习对比、数据优化、过采样】
  • 软路由 + 代理 IP 实现多手机不同公网 IP 分配教程
  • 60个功能OfficeBox 万彩办公大师:PDF 格式转换 OCR识别免费无广告
  • 【数据结构】栈与链表的区别