Docker更新应用程序

来自泡泡学习笔记
BrainBs讨论 | 贡献2023年8月16日 (三) 09:07的版本 (创建页面,内容为“ 在这一部分,您将更新应用程序和镜像。您还将学习如何停止和删除容器。 == 更新源代码 == 在接下来的步骤中,当您没有任何待办事项时,将“空文本”更改为“您还没有待办事项!请在上方添加一个!” <ol style="list-style-type: decimal;"> <li>在src/static/js/app.js文件中,更新第56行以使用新的空文本。 <pre></li></ol> <ul> <li><p className="text-center"> No items yet!…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

在这一部分,您将更新应用程序和镜像。您还将学习如何停止和删除容器。

更新源代码

在接下来的步骤中,当您没有任何待办事项时,将“空文本”更改为“您还没有待办事项!请在上方添加一个!”

  1. 在src/static/js/app.js文件中,更新第56行以使用新的空文本。
    </li></ol>
    
    <ul>
    <li><p className="text-center">
    No items yet! Add one above!
    </p></li>
    <li><p className="text-center">
    You have no todo items yet! Add one above!
    </p>
    
    1. 使用docker build命令构建更新后的镜像。
      docker build -t getting-started .
      
    2. 使用更新后的代码启动一个新的容器。
      docker run -dp 127.0.0.1:3000:3000 getting-started
      

    您可能会看到类似以下的错误:

    docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell 
    (bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind for 127.0.0.1:3000 failed: port is already allocated.
    

    发生错误的原因是在旧容器仍在运行时无法启动新容器。原因是旧容器已经在使用主机的端口3000,而机器上只能有一个进程(包括容器)监听特定的端口。为了解决这个问题,您需要删除旧容器。

    删除旧的容器

    要删除一个容器,您首先需要停止它。一旦停止,您就可以删除它。

    1. 使用docker ps命令获取容器的ID。
    docker ps
    
    1. 使用docker stop命令停止容器。将<容器ID>替换为docker ps中的ID。
    docker stop <容器ID>
    
    1. 一旦容器停止,您可以使用docker rm命令将其删除。
    docker rm <容器ID>
    

    注意:

    您可以通过在docker rm命令中添加force标志来一次性停止和删除容器。例如:docker rm -f <容器ID>

    启动更新后的应用程序容器

    现在,使用docker run命令启动更新后的应用程序。

    docker run -dp 127.0.0.1:3000:3000 getting-started

    在http://localhost:3000上刷新您的浏览器,您应该看到更新后的帮助文本。