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

删除成功

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

再次构建且构建成功!


相关推荐
BillKu16 分钟前
Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)
java·jvm·jdk·java ee·jre·java se·jakarta ee
灵犀物润29 分钟前
Kubernetes 配置检查与发布安全清单
安全·容器·kubernetes
感哥1 小时前
Docker网络
docker
刘婉晴1 小时前
【Java】NIO 简单介绍
java·nio
渣哥1 小时前
聊聊我和 ArrayList、LinkedList、Vector 的“一地鸡毛”
java
xy_recording1 小时前
Day20 K8S学习
学习·容器·kubernetes
浮游本尊1 小时前
Java学习第20天 - 性能优化与监控
java
纪莫2 小时前
技术面:Java并发(线程同步、死锁、多线程编排)
java·java面试⑧股
衍余未了2 小时前
k8s 内置的containerd配置阿里云个人镜像地址及认证
java·阿里云·kubernetes
九章云极AladdinEdu2 小时前
Kubernetes设备插件开发实战:实现GPU拓扑感知调度
人工智能·机器学习·云原生·容器·kubernetes·迁移学习·gpu算力