博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker学习笔记
阅读量:5172 次
发布时间:2019-06-13

本文共 1115 字,大约阅读时间需要 3 分钟。

项目部署应用了Docker,了解一下,做下笔记:

首先docker是什么,docker是个类似虚拟机独立空间,但是docker内不需要安装系统,所以它比虚拟机省事,可以避免环境污染,让项目更加可一直,可复用。

举一个形象例子,比如现在有A和B两个项目,一个用的node是6,一个用的是8,如果没有docker,那么我们切换项目时候需要nvm use一下,否则会报由于node版本问题而引发问题,有了docker,我们就不需要为此烦恼,用docker来运行项目就可以

如何引入dokcer?

先下载一个Docker安装包,然后再配置下仓库地址,这里可以等同理解为类似github一样东西

然后在项目根目录编写Dockerfile文件

然后构建下 

docker build --rm --build-arg stage=${stage:-'dev'} -t vuessr .这个命令一个vuessr镜像就完成

然后运行下

docker run --name="vue_ssr" -p ${port:-5010}:8080 vuessr

这个时候我们在浏览器输入localhost:port就能访问docker容器里项目了,注意这个项目是把你本地项目copy到docker容器里运行不是你本地的那个项目 注意这里后面的端口必须要和你项目监听端口一致,不然会无法访问

这里先说下几个概念性东西

image:image是镜像也可以认为是项目,container是镜像实例,跑起来的项目

下面简单解释下代码意思 

FROM node:8.11.2 // 项目依赖的底层镜像MAINTAINER lyz // 作者WORKDIR /VueSSr // 工作目录ADD . /VueSSr // 把当前目录 添加到工作目录ARG stage // 设置运行参数RUN npm i pm2 -gRUN yarn install && npm run $stageEXPOSE 8080 // 该容器暴露端口,这里只是起到一个标记作用CMD ["pm2-runtime", "pm2.yml"] // 我们跑镜像时候执行的命令,就是你输入docker run时候,docker执行的就是这个cmd

项目跑起来之后,我们可以进入容器看下我们的容器内部什么样子,

 docker exec -i -t ca0 /bin/bash 其中ca0是你的container 的id

进去之后会发现,我们项目所有文件都被拷贝一份到虚拟容器里面了,不在受外部环境影响

转载于:https://www.cnblogs.com/lyz1991/p/9789938.html

你可能感兴趣的文章
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>
树形DP
查看>>
python flask解决上传下载的问题
查看>>
语法测试
查看>>
CES1
查看>>
CES2
查看>>
文件方式实现完整的英文词频统计实例
查看>>
单个SWF文件loading加载详解(转)
查看>>
SQLServer中的CTE通用表表达式
查看>>
C# 3.0 LINQ的准备工作
查看>>
静态代码审查工具FxCop插件开发(c#)
查看>>
创建代码仓库
查看>>
理解裸机部署过程ironic
查看>>
Django 组件-ModelForm
查看>>
zabbix 二 zabbix agent 客户端
查看>>