近期在学习docker相关知识,本文主要用于个人学习docker笔记。
拉取mysql镜像,创建容器
docker pull mysql:latest
# 查看是否拉取成功
docker images
# 跑一个容器
docker run -d -p 3006:3006 -v mysqlconf:/etc/mysql -e MYSQL_ROOT_PASSWORD=xxxx --name zjf-admin-mysql mysql:latese
# 查看容器是否运行成功
docker ps
# 进去mysql容器 创建数据库
docker exect -it zjf-admin-mysql bash
# 登录mysql
mysql -u root -p
#输入密码xxx,就是上面创建容器时设置的 MYSQL_ROOT_PASSWORD=xxxx
#创建数据库,注意加分号
CREATE DATABASE zjfserver;
#查看数据库
SHOW DATABASE;
# 退出后,重启mysql容器
docker restart zjf-admin-mysql
编写dockerfile文件
# 使用一个 Node.js 镜像作为基础镜像
FROM node:16.18.0
# 设置时区
ENV TZ=Asia/Shanghai \
DEBIAN_FRONTEND=noninteractive
# 创建工作目录
RUN mkdir /app
WORKDIR /app
COPY . .
RUN yarn
# 暴露 Nest.js 默认端口
EXPOSE 3008
# 运行 Nest.js 应用
CMD ["yarn", "start:prod"]
将本地项目丢带服务器上,我这边是使用git
ssh root@服务器公网ip
# 输入密码
# 安装git
yum install git
# 查看是否安装成功
git --version
# 从远程仓库拉取代码,
# 在这之前将本地的代码 mysql生产环境的host,用户名,密码都改好上传到远程仓库。
git clone https://github.com/xxxxxx.git
将项目打包成镜像
# 基于项目的dockerfile 打包镜像
docker build -t zjf-nest-app .
# 跑一个容器
docker run -d -p 3008:3008 --name zjf-nest-app zjf-nest-app
以上就将一个nestjs项目部署完成了,在浏览器上即可访问了。