前言
在上一篇中介绍了 Docker 的基础概念与优点,这篇将介绍 Docker 的基础实践。
Docker Desktop 安装与配置
Docker Desktop 提供了图形化界面,使操作更加直观。因为作者的目的是学会如何使用docker即可,所以使用GUI简便操作。想具有挑战性的完全可以通过命令行执行。
配置镜像
由于2024年06月国内大量镜像源关掉了,现在网上很多文章搜索到的镜像源都不能用,可以参考项目 docker-registry-mirrors 配置镜像
"registry-mirrors": [
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
在 Docker Desktop 中配置镜像源:
验证配置
测试镜像是否配置成功
docker info
如果看到配置的镜像源信息,说明配置成功:
Docker 基本操作
构建镜像
使用以下命令构建 Docker 镜像:
docker build -t vue3-blog-backend .
然后会根据Dockerfile
里的具体内容进行构建,整个过程类似于npm install
会根据 package.json
中的依赖进行安装
# 使用 Node.js 14 作为基础镜像
FROM node:14.21.0-alpine
# 设置工作目录
WORKDIR /app
# 首先只复制 package.json 和 package-lock.json(如果存在)
COPY package*.json ./
# 安装依赖
RUN npm install
# 然后再复制其他文件
COPY . .
# 暴露端口
EXPOSE 3000
# 确保使用正确的入口文件路径
CMD ["node", "service/server.js"]
构建成功后,可以在 Docker Desktop 的镜像列表中看到新创建的镜像:
运行容器
在镜像构建完成后,点击 Actions 下的 run 按钮运行容器。注意配置正确的端口映射:
后续
这篇主要讲了三个内容配置镜像、构建镜像、运行容器都是基础中的基础。随之而来也带来几个问题
- 每次更改完代码都得重新构建镜像、运行容器,有办法使用docker达到类似于
yml+Github Action
的CI/CD
吗? - docker中有个重要的概念
docker hub
这又是什么?
后续文章将主要解决这几个问题。