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

docker使用(一)

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

编写一个 Dockerfile

  1. 编写一个 Dockerfile:Dockerfile 是一个文本文件,用于定义镜像的构建过程。在 Dockerfile 中,你可以指定基础镜像、安装软件、复制文件等操作。

java 复制代码
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" failed
 size 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

删除成功

也可直接在仪表板进行删除

再次构建且构建成功!


相关推荐
garmin Chen2 分钟前
LeetcodeHot100打卡(14、合并空间,15、轮转数组,16、除了自身以外数组乘积,17.缺失的第一个整数)
java·笔记·学习·算法
接着奏乐接着舞4 分钟前
dto 转entity方法
java·开发语言
我命由我123458 分钟前
Android 开发问题:项目同时引入了两个包含相同类文件的库(AndroidX 库、旧版本支持库),导致了重复类错误
android·java·java-ee·android studio·android-studio·androidx·android runtime
梓色系14 分钟前
Spring AI 实战:从零搭建 MCP 客户端与服务端,让大模型拥有“手脚“
java·人工智能·spring
“码”力全开15 分钟前
解构企业级安防中台:基于Docker容器化与GB28181/RTSP多协议汇聚的边缘计算AI视频管理平台(全量源码交付)
人工智能·docker·边缘计算
秦时星星22 分钟前
Spring AI + FastMCP 跨语言集成踩坑实录
java·人工智能·spring
见牛羊25 分钟前
docker理解
java·docker·容器
codingPower28 分钟前
JAVA后端安全进阶:基于HMAC-SHA256+Nonce+Timestamp的API防重放攻击方案
java·开发语言·spring boot·安全
寂夜了无痕34 分钟前
IntelliJ IDEA 高效配置:新建文件自动生成作者与时间注释
java·ide·intellij-idea
leonidZhao42 分钟前
Java 25新特性:模块导入申明
java