查看“Docker将一个应用程序容器化”的源代码
←
Docker将一个应用程序容器化
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 先决条件 == * 您已经安装了最新版本的Docker桌面版。 * 您已经安装了一个Git客户端。 * 您有一个IDE或文本编辑器来编辑文件。Docker建议使用Visual Studio Code。 == 获取应用程序 == 在运行应用程序之前,您需要将应用程序源代码获取到您的机器上。 使用以下命令克隆getting-started-app存储库: <pre>git clone https://github.com/docker/getting-started-app.git</pre> 查看克隆存储库的内容。您应该看到以下文件和子目录: <pre>├── getting-started-app/ │ ├── package.json │ ├── README.md │ ├── spec/ │ ├── src/ │ └── yarn.lock</pre> == 构建应用程序的镜像 == 要构建镜像,您需要使用一个Dockerfile。Dockerfile只是一个没有文件扩展名的文本文件,包含一系列指令的脚本。Docker使用这个脚本来构建容器镜像。 在getting-started-app目录中,与package.json文件位于同一位置,创建一个名为Dockerfile的文件。您可以使用以下命令根据您的操作系统创建一个Dockerfile。 <ol style="list-style-type: decimal;"> <li><p>确保您在getting-started-app目录中。将/path/to/getting-started-app替换为您getting-started-app目录的路径。</p> <pre>cd /path/to/getting-started-app</pre></li> <li><p>创建一个名为Dockerfile的空文件。</p> <pre>touch Dockerfile</pre></li> <li><p>使用文本编辑器或代码编辑器,将以下内容添加到Dockerfile中:</p> <pre> # syntax=docker/dockerfile:1 FROM node:18-alpine WORKDIR /app COPY . . RUN yarn install –production CMD [“node”, “src/index.js”] EXPOSE 3000</pre></li></ol> 使用以下命令构建镜像: <ol style="list-style-type: decimal;"> <li><p>在终端中,确保您在getting-started-app目录中。将/path/to/getting-started-app替换为您getting-started-app目录的路径。</p> <pre>cd /path/to/getting-started-app</pre></li> <li><p>构建镜像。</p> <pre>docker build -t getting-started .</pre></li></ol> docker build命令使用Dockerfile构建一个新的镜像。您可能已经注意到Docker下载了很多“层”。这是因为您指示构建器从node:18-alpine镜像开始构建。但是,由于您的机器上没有该镜像,Docker需要下载该镜像。 在Docker下载镜像后,Dockerfile中的指令将您的应用程序复制进来,并使用yarn安装了应用程序的依赖项。CMD指令指定了从此镜像启动容器时要运行的默认命令。 最后,-t标志为您的镜像打上标签。可以将其视为最终镜像的人类可读名称。由于您将镜像命名为getting-started,因此可以在运行容器时引用该镜像。 docker build命令末尾的.告诉Docker应该在当前目录中查找Dockerfile。 == 启动应用程序容器 == 现在您已经有了一个镜像,可以使用docker run命令在容器中运行应用程序。 使用docker run命令运行您的容器,并指定刚刚创建的镜像的名称: <pre>docker run -dp 127.0.0.1:3000:3000 getting-started</pre> -d标志(简写为–detach)在后台运行容器。-p标志(简写为–publish)在主机和容器之间创建端口映射。-p标志以HOST:CONTAINER的格式接受字符串值,其中HOST是主机上的地址,CONTAINER是容器上的端口。该命令将容器的端口3000发布到主机上的127.0.0.1:3000(本地主机:3000)。如果没有端口映射,您将无法从主机访问应用程序。 几秒钟后,打开您的Web浏览器并访问http://localhost:3000。您应该能够看到您的应用程序。 添加一两个项目并确保它按您的预期工作。您可以标记项目为已完成并将其删除。您的前端成功将项目存储在后端中。 此时,您已经有一个运行中的待办事项列表管理器,并带有几个项目。 如果您快速查看您的容器,您应该看到至少有一个正在运行的容器正在使用getting-started镜像,并在端口3000上运行。要查看容器,您可以使用CLI或Docker Desktop的图形界面。 在终端中运行以下docker ps命令来列出您的容器。 <pre>docker ps</pre> 将会显示类似以下的输出。 {| class="wikitable" |- ! CONTAINER ID ! IMAGE ! COMMAND ! CREATED ! STATUS ! PORTS ! NAMES |- | df784548666d | getting-started | “docker-entrypoint.s…” | 2 minutes ago | Up 2 minutes | 127.0.0.1:3000->3000/tcp | priceless_mcclintock |}
返回至“
Docker将一个应用程序容器化
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息