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

docker使用(一)生成,启动,更新(容器暂停,删除,再生成)

docker使用(一)

  • 编写一个 Dockerfile
  • 构建镜像
    • 构建失败
    • 构建成功
  • 运行镜像
    • 运行成功
  • 修改代码后再次构建
  • 请不要直接进行构建,要将原有的旧容器删除或暂停
    • 停止成功
    • 删除成功
    • 再次构建且构建成功!

要创建一个镜像,你可以按照以下步骤进行操作:

编写一个 Dockerfile

  1. 编写一个 Dockerfile:Dockerfile 是一个文本文件,用于定义镜像的构建过程。在 Dockerfile 中,你可以指定基础镜像、安装软件、复制文件等操作。
    在这里插入图片描述
    在这里插入图片描述
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]

构建镜像

构建镜像:使用 docker build 命令来构建镜像。在命令行中,进入 Dockerfile 所在的目录,然后运行以下命令:

   docker build -t <镜像名称> .

其中,<镜像名称> 是你想要给镜像起的名称,. 表示当前目录。[注意点不能省略]
在这里插入图片描述

构建失败

在这里插入图片描述

failed commit on ref "layer-sha256:7264a8db6415046d36d16ba98b79778e18accee6ffa71850405994cffa9be7de": "layer-sha256:7264a8db6415046d36d16ba98b79778e18accee6ffa71850405994cffa9be7de" failedsize validation: 0 != 3401613: failed precondition

可能是docker版本错误或者下载出错
我的是刚下的,很大可能不是版本问题,于是清除docker缓存

   docker system prune -a

在这里插入图片描述
结束后,继续进行docker构建命令

  docker build -t <镜像名称> .

构建成功

在这里插入图片描述

运行镜像

运行镜像:构建成功后,你可以使用 docker run 命令来运行镜像。例如:

   docker run <镜像名称> 

或者

docker run -dp 3000:3000 <镜像名称> 

这将在容器中运行你的镜像,并执行其中定义的操作。
在这里插入图片描述

运行成功

在这里插入图片描述

修改代码后再次构建

此时代码已经修改

请不要直接进行构建,要将原有的旧容器删除或暂停

使用命令获取容器的 ID

docker ps

在这里插入图片描述
docker stop
我的container-id是9c845a155512

docker stop <the-container-id>

停止成功

在这里插入图片描述
使用命令将其删除
docker rm 9c845a155512
在这里插入图片描述

删除成功

在这里插入图片描述
也可直接在仪表板进行删除
在这里插入图片描述

再次构建且构建成功!

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/154647.html

相关文章:

  • 用Qt自制一个小闹钟
  • Vue2.0/Vue3.0使用xlsx+xlsx-style实现导出Excel文件
  • 【Kafka系列】(一)Kafka入门
  • 外包干了2个月,技术退步明显了...
  • python实现语音识别
  • java八股文面试[多线程]——线程的状态
  • Go学习[合集]
  • 代码随想录算法训练营第42天 | ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集
  • 解决DNS服务器未响应错误的方法
  • SpringBoot的HandlerInterceptor拦截器使用方法
  • java 常用 jar 包
  • C#面试十问
  • Day 41 动态规划part03 : 343. 整数拆分 96.不同的二叉搜索树
  • 四轴飞行器的电池研究(MatlabSimulink仿真)
  • 准备HarmonyOS开发环境
  • Java 面试 - Redis
  • 【Go 基础篇】Go语言结构体之间的转换与映射
  • Java 多线程系列Ⅳ(单例模式+阻塞式队列+定时器+线程池)
  • 将 ordinals 与 比特币智能合约集成 : 第 1 部分
  • 【USRP】集成化仪器系列1 :信号源,基于labview实现
  • 串行协议——USB驱动[基础]
  • 健康舒适的超满意照明体验!SUKER书客SKY护眼台灯测评
  • PID 算法
  • 13.Redis 事务
  • 李宏毅机器学习课程笔记(更新ing)
  • SIP mini 对讲终端,带sip热点功能
  • PHP中根据出生年月日计算年龄的封装函数
  • Linux巡检脚本
  • SQLite 3.43.0 发布,又有啥新功能?
  • 百度自研高性能ANN检索引擎,开源了