docker之mac下部署nodejs项目

mac下docker安装

1.官网下载
在这里插入图片描述
2. 安装教程可参照官方安装教程
3.安装成功可以看到此界面:
在这里插入图片描述
4.检验安装结果。

docker -v

结果为:
在这里插入图片描述

初始化一个Node.js项目

  1. 初始化node.js
npm init

2.创建service文件即程序入口

const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
    ctx.body = 'hello docker';
});
app.listen(3000);

3.创建Dockerfile文件·

# 制定node镜像版本
FROM node:10
MAINTAINER vincent
# 将根目录下的文件都copy到container(运行此镜像的容器)文件系统的app文件夹下
ADD . /app/
# cd到app文件夹下
WORKDIR /app
# 对外暴露的端口号
EXPOSE 3000
RUN npm install
# 容器启动时执行的命令,类似npm run start
CMD ["npm","start"]

4.创建build忽略文件配置.dockerignore文件

logs
node_modules

5.整体项目结构如下:
在这里插入图片描述

构建项目镜像

1.使用docker命令的build命令,其他命令可以查看Docker命令大全

docker build -t docker_demo .

注:请注意标签名后面的点,点其实代表的是当前路径
2.构建过程如下:
在这里插入图片描述
注:由于我构建过,所以直接使用缓存,即Using cache。
3. 通过images命令查看当前镜像

docker images

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

运行nodejs项目镜像

1.使用docker的run命令:

docker run -d -p 8081:3000 docker_demo

如图:
在这里插入图片描述
2.查看运行中的docker容器:

docker ps

如图:
在这里插入图片描述
3.浏览器测试一下
在这里插入图片描述
注:虽然我们项目中端口是3000,但是在run镜像时,我们将主机端口8081映射到了3000上,所以外部直接访问8081就可以访问到。
4. 查看运行的容器的日志

docker logs -f [CONTAINER ID]

就可以看到项目运行的日志。
5. 停止运行的容器

docker stop [CONTAINER ID]/[正在运行的容器ID]

将本地镜像推送到docker hub上

1.创建一个docker hub账户
打开官方网站注册一个属于自己的账号
2.注册之后可以在命令行中登陆自己的账户

docker login

如图:
在这里插入图片描述
输入自己的ID和密码即可登陆成功
3.如果你使用的是vs Code开发工具,则可以直接在扩展工具中搜索docker插件,安装成功后如图:
在这里插入图片描述
注:首次使用时,在点击Docker Hub时会提示你登陆你的Hub账号,跟命令行登陆输入的东西一样。登陆成功后就很方便的查看你Hub仓库的镜像,以及你本地的镜像和正在运行的容器了。
4.使用tag命令添加标签

docker tag docker_demo vincentwsc/docker_demo

5.使用push命令将镜像推送到Hub仓库中

docker push vincentwsc/docker_demo

6.登陆到你的Hub页面就可以看到你刚刚上传的镜像了。
在这里插入图片描述
7.使用pull命令从Hub拉取项目镜像

docker pull vincentwsc/docker

就可以直接运行该项目了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章