一、关于Docker
什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎。让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机器( Linux ,windows,Mac等)上,也可以实现虚拟化。容器是使用完全独立的沙箱机制,相互之间不会有任何接口。可以同时运行多个Container,且相互独立各不干扰,对于多环境下的系统测试非常有用,但是Docker的应用远不止此。
二、安装
1. Windows 7系统下建议使用Docker toolbox方式安装,简单粗暴直接快速省事!
https://www.docker.com/products/docker-toolbox
Windows 10 系统下使用 Docker Coumunity Edition
http://get.daocloud.io/#install-docker-for-mac-windows
https://www.docker.com/community-edition#/windows
2.因为目前win7系统占多数,直接介绍Docker toolbox:
docker toolbox是一个工具集,它主要包含以下一些内容:
1、Docker CLI 客户端,用来运行docker引擎创建镜像和容器
2、Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
3、Docker Compose. 用来运行docker-compose命令
4、Kitematic. 这是Docker的GUI版本
5、Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
6、Oracle VM Virtualbox. 虚拟机
由于Docker引擎的守护进程使用的是Linux的内核,所以我们不能够直接在windows中运行docker引擎。而是需要运行Docker Machine命令 docker-machine, 在你的机器上创建和获得一个Linux虚拟机,
用这个虚拟机才可以在你的windows系统上运行Docker引擎
3.准备工作:
Windows 7和10 x64,支持Hyper-V
4.安装Docker Toolbox
下载完成后安装
在这一步,你将安装Docker Toolbox。安装后你的系统将会安装以下几个软件:
1、Windows版的Docker客户端
2、Docker Toolbox管理工具和ISO镜像
3、Oracle VM Virtualbox
4、Git MSYS-git Unix 工具
5.确认是否安装成功
安装完成后,你会在你的电脑桌面上看到新增了三个图标
双击Docker Quickstart Terminal图标,启动一个终端
第一次启动的话你会看到命令行会输出一些东西,等待一下,它会配置Docker Toolbox,之后,当它完成后,你会看到启动成功的画面
若在bash界面提示没有boot2docker镜像,需要在github上下载,提示大概如下
这是因为没有找到默认的boot2docker镜像的原因,提示正在下载,然而github的下载速度不可恭维,第一反应都是找别的站资源下载。
在此要注意了,不同的docker版本最好要对应相同的boot2docker版本,相信打开github下载页的应该都留意到。最后我才发现,其实不用下载,
在一开始安装好的DockerToolbox根目录下就有一个boot2docker,并且可以推断就是对应的版本。
把boot2docker.iso复制到,bash所提示找不到的那个目录下(我这里是C:\Users\Administrator\.docker\machine\cache)。
然后再次双击Docker Quickstart Terminal图标,出现如下界面,说明安装成功了。
在命令行中输入docker run hello-world并按回车键,如果docker配置成功的话,你会看到命令行中有如下输出:
windows下安装好了docker环境配置完成。
三、搭建一个包含Nodejs环境的简单webApp的image
1.本地配置完Nodejs环境(参考nodejs官网: https://nodejs.org/en/download/)
2.去express官网下载generator
参考步骤: http://expressjs.com/en/starter/generator.html
3.安装后在对应的express应用文件夹下比如 C:/myspp:
新建文件Dockerfile,拷贝下面code
# Express-App## VERSION 1.0.0
FROM node:latest
RUN mkdir -p /home/www/express-appWORKDIR /home/www/express-app
COPY . /home/www/express-appRUN npm install
EXPOSE 3000CMD ["npm", "start"]
然后双击桌面DockerQuickStartTerminal图标,进入DockerTerminal界面:
跳转到刚才安装的express应用文件路径: cd C:/myapp
注意在Docker Terminal中文件路径的斜杠是反的,与直接拷贝出来的路径不同,要改成反斜杠,否则docker跳转不了。
然后输入 : docker build -t myapp . (注意后面的点)
运行结果如下:
看到successfully build ***** 就表示image构建成功了。
然后验证一下是不是image已经有了: docker images
可以通过dicker history查看镜像构建过程: docker history myapp
然后把image run起来:docker run -p 3000:3000 myapp
如果要让docker终端后台运行: 在参数上加 -d
可以通过docker ps查看运行情况:
在本地浏览器输入:192.168.99.100:3000 查看运行的app:(注意使用docker toolbox时不是使用127.0.0.1,而是要使用启动docker时分配的那个ip地址)
查看浏览器webapp运行情况:
参考文档:https://www.cnblogs.com/lujiangping/p/7206503.html
http://www.jb51.net/article/104251.htm
分享到:
相关推荐
nodejs-docker-webapp Docker化的Node Web应用程序( )。
Dockerizing_nodejs_webApp 使用Docker创建ubuntu镜像。 然后使用PM2和NginX进行反向代理。 入门(对于linux系统) 打开终端并创建一个新目录 mkdir myapp 在“ myapp”目录中初始化一个空的git repo git init ...
要查看和执行 docker 实验,我建议您在实验室下载并安装以下内容之前: 令人敬畏的 WebApp : git clone https://github.com/egut/docker-presentation.git 按照说明 按照说明安装 docker-compose 最后,我建议...
Docker-WebConsole 通过Docker的nodeJS / Yarn WebApp容器化未进行基础部署Dexi Web App Build版本URL: : Alpha:版本Beta:主要资源:实例:e2-中CPU:2vCPU RAM:4 GB磁盘:50GB操作系统:Ubuntu 20.04 网络:...
NodeJS WebSocket SQLi易受攻击的WebApp 在NodeJS上构建一个易受攻击的WebSocket应用程序的一日版本,以通过WebSocket练习基于布尔SQLi。 我这样做是为了让其他人可以通过WebSocket学习和自动化SQLi,此外,还向...
标题"WebApp-NodeJS-Full"表明这是一个关于使用Node.js开发Web应用程序的项目,其中可能包含完整的源代码、文档和示例。"完整"一词暗示了这个项目提供了构建Web应用所需的所有元素,可能是从基础到高级功能的全面...
生产跑步您可以使用docker运行webapp: docker run -e ANGULAR_MODE=prod -p 80:80 denbicloud/cloud-portal-webapp:RELEASE 您可以在GitHub上找到最新版本。 注意:cloud-api服务器也必须正在运行。发展项目设置...
下载并安装Node.js: //nodejs.org/en/确保获得稳定的版本 下载并安装Python 下载并安装PiP 下载并安装Docker Toolbox: : 您将必须在此过程中创建新帐户。 妥善保存您的用户名和密码,以备将来访问 运行安装...
docker container run -d -p 1234:8080 jalalhejazi/container-webapp HTTP localhost:1234/ 2. DevOps管道 npm run deploy -> from localhost -> to Github (repo) -> then, dockerHub -> then, Azure App ...
NodeJS Web应用程序框架 Express框架上的Web应用程序 建造 npm install 发射 直接方式 ./bin/www Docker方式 docker-compose up 质量检验 gulp 包括 摩卡测试 Js Lint Javascript代码标准(外观为.jscsrc)
在本项目中,Express用于搭建Web服务器,处理各种HTTP请求,如GET、POST等,并返回相应的HTML页面或JSON数据。 3. **Vue.js**:是一种渐进式JavaScript框架,主要用于构建用户界面。Vue的特点是其组件化系统,允许...
#Wildtrack 构建服务器这... 推送期间的事件顺序是推送事件、github webhook 到服务器、服务器响应、生成 docker、在 docker 中克隆 repo、在 docker 中安装 npm、在 docker 中 grunt 构建和测试、从 nodejs 服务器中的
使用启用了 nginx 的 NodeJs 和 Sails.js 0.11 引导 Phusion 乘客 ... $ docker run -d -P -v /webapp:/home/app/api -v /webapp/config:/home/app/config -v /webapp/views:/home/app/views 用户名/webap
ipfs-webapp 介绍 具有节点应用程序的IPFS Npm安装 请参阅https://www.npmjs.com/ 码头化的应用程序 docker-compose up -d Ipfs和节点应用程序在Docker容器中运行。
Docker Vue节点Nginx Mongodb Redis :dragon: 一个很棒的样板,集成了Docker , Vue , Node , Nginx , Mongodb和Redis , 设计用于更高效,更优雅地开发和构建Web应用程序。产品特点由和 , , , 和将前端,后端...
剩下节点版本管理器: : (也适用于Windows) Windows的节点版本管理器: : Airbnb样式指南: : Eslint: ://eslint.org/ 更漂亮: : Nodemon: ://nodemon.io/ 温斯顿记录器: : 摩根: : 帕格(模板引擎): :...
用docker启动 由docker-compose自动部署,在下面运行cmd: docker-compose up 使用URI 访问容器。 如果使用vscode进行调试,请首先在docker-compose.yml中将og命令的值更改为“ npm run debug”,然后启动vscode...
由于浏览器的同源策略限制,前端和后端可能不在同一个域下,因此开发者可能配置了CORS(Cross-Origin Resource Sharing)策略,允许前端跨域访问后端API。 ### 7. 版本控制与部署 开发者很可能使用Git进行版本控制...
安装 NodeJS 14+ 克隆这个仓库 运行npm install 向 OAuth 提供程序注册应用程序(请参阅下面的“配置身份验证”部分) 现在将其作为node server.js运行 配置认证 它使用全流程 OAuth2。 您需要在服务器上注册您的...
NB马上就可以处理[公制]吨的样板文件:微服务风格的设置,集群,Docker支持,数据库迁移,自动化测试,错误处理,模块化,高级日志记录,模板化视图,环境–命名。 而所有这些都无需处理沉重的或自以为是的框架! ...