在Docker Desktop 4.18中docker initCLI可以为项目生成Docker资源,使创建Docker镜像和容器变得更加容易。
当你在项目目录中运行docker init命令时,它将指导你使用合理的默认值为项目创建必要的文件。这些文件包括:
- 1,.dockerignore
- 2,Dockerfile
- 3,docker-compose.yaml
docker init命令还允许选择项目使用的应用程序平台和主包的相对目录。
在这篇文章中,我们将通过使用Rust创建一个简单的web应用程序,项目利用了Warp框架和Tokio异步运行时的强大功能。我们还将利用Docker容器化我们的应用程序,使其易于部署和管理。在文章的最后,你将拥有一个在Docker容器中运行的功能齐全的Rust web应用程序。
在我们开始之前,确保你的机器上安装了Docker桌面版本4.18或更高版本,这将使我们能够有效地使用Docker的特性。
步骤1:设置项目
首先,我们需要克隆包含示例应用程序的存储库。打开终端,运行以下命令:
git clone https://github.com/dockersamples/docker-init-demos
cd docker-init-demos/rust
cargo init
cargo build --release
这将创建一个新的Rust项目,并在发布模式下构建它。
步骤2:运行Docker Init
接下来,我们将使用docker Init CLI为我们的项目生成必要的Docker文件。执行如下命令:
我们会看到来自docker Init CLI的欢迎消息,然后按指导完成安装过程。可能会遇到一个警告,表明一些Docker文件已经存在。当出现提示时,选择覆盖它们。下面是一个交互示例:
Welcome to the Docker Init CLI!
This utility will walk you through creating the following files with sensible defaults
for your project:
- .dockerignore
- Dockerfile
- compose.yaml
WARNING: The following Docker files already exist in this directory:
- .dockerignore
? Do you want to overwrite them? Yes
? What application platform does your project use? Rust
? What version of Rust do you want to use? 1.70.0
? What port does your server listen on? 3030
CREATED: .dockerignore
CREATED: Dockerfile
CREATED: compose.yaml
✔ Your Docker files are ready!
文件创建后,可以查看它们并进行必要的调整。准备好后,运行以下命令启动应用程序:
docker compose up -d --build
步骤3:访问应用程序
一旦应用程序开始运行,我们就可以在web浏览器中访问它。打开浏览器,输入:
应该会看到一条来自Docker的友好消息,确认你的应用程序已经启动并运行:
.
## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
{ / ===-
______ O __/
\ \ __/
_____/
Hello from Docker!
步骤4:在Docker桌面仪表板上查看
最后,我们打开Docker Desktop Dashboard来查看正在运行的容器并轻松管理它们。这个接口提供了Docker环境的可视化表示,可以监视资源使用情况、日志等。
总结
在这篇文章中,我们成功地使用Rust、Warp和Tokio创建了一个简单的web应用程序,并使用Docker将其容器化。这种设置不仅简化了部署,还增强了应用程序的可伸缩性和可维护性。你可以通过向Rust应用程序添加更多特性或尝试不同的Docker配置来进一步探索。