关键词:
本文转自:https://www.jianshu.com/p/d809971b1fc1
借助 docker 可以不在开发电脑中安装环境,比如 nodejs,记录下如何实现。
下载安装
根据自己的电脑系统,在 install-docker-for-mac-windows 下载最新安装包并安装。
选择好目录后下一步,提示需要安装什么组件:
- Docker Compose for Window 不知道什么用,勾选
- VirtualBox 虚拟机,如果电脑之前安装过 Oracle VM VirtualBox 可以不勾选
- Kitematic for Windows(Alpha) 使用图形界面来使用 docker,建议勾选
- Git for Windows 一个版本控制 + bash 命令终端,如果没有安装建议勾选
继续下一步
- Create a desktop shortcut
- Add docker binaries to PATH
- Upgrade Boot2Dcoker VM
三个选项全部勾选,下一步就开始安装软件到系统中,等待一会即可完成安装。
初始化虚拟机
打开安装目录,不出意外目录结构是这样的:
├──kitematic
├──boot2docker.iso
├──docker.exe
├──docker-compose.exe
├──docker-machine.exe
├──docker-quickstart-terminal.ico
├──start.sh
├──unins000.dat
└──unins000.exe
将boot2docker.iso
拷贝至C:Users用户名.dockermachinecache
目录下,双击打开start.sh
文件。
当看到该画面时表示虚拟机已经安装在Virtual Box
里面,可以打开Oracle VM VirtualBox
查看:
这一步完成后,我们需要了解一个概念,就是现在我们有了两个系统,一个 windows 系统即我们直接操作的图形界面系统,我们称为主机,在主机上安装了VirtualBox
,该软件内有 linux 虚拟机,称为docker主机,在 docker 主机中我们之后还会创建 linux 系统,称为容器。
可以通过终端显示的用户名@计算机名来区分
下面我们实现主机与 docker 主机共享文件夹。
主机与 docker 主机共享文件夹
假设我需要将docker_study
作为共享文件夹,该文件目录如下:
D:/docker_study
└──koa-template
koa-template
是我已经写好的项目,可以在docker_study
文件夹内执行git clone https://github.com/ltaoo/koa-template.git
,会在docker_study
文件夹生成koa-template
文件夹。
打开Oracle VM VirtualBox
,选中“正在运行”状态的 default 虚拟机,进入 设置-> 共享文件夹,添加共享文件夹,选中docker_study
文件夹,勾选“自动挂载”、“固定分配”,确定。
在default
上右键,重启该虚拟机。
重启完成后,使用git
作为终端来连接我们的 docker 主机
docker-machine ssh default
如果提示该命令不存在,需要将 docker 的安装目录加入到环境变量中
进入到 docker 主机中,也就是终端显示[email protected]:~$
的情况,输入命令
mount
可以看到docker_study
在虚拟机内的路径,进入该路径,查看是否读取到我们主机的文件与文件夹
# 进入 docker_study 目录
cd /docker_study
# 查看该目录下的文件与文件夹
ls
如果能够显示我们主机中的koa-template
就表示配置共享文件夹成功。
创建容器
确保终端是处于“docker 主机”内,先下载镜像:
docker pull node
表示下载安装最新版本 node 的 linux 系统。
如果提示 Cannot connect to the Docker daemon at unix:///var/run/docker.sock,使用
sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &
命令,再按一下回车即可。这一命令建议先配置加速器
然后就可以使用该镜像生成容器了:
# 查看镜像是否下载成功,看到 Repository 为 node 且 Tag 为 latest 表示成功,Created 不是下载镜像时间所以可能是几天前
docker images
# 生成容器
docker run --name koa -v /docker_study/koa-template:/app -p 3000:3000 -i -t node /bin/bash
这句命令,表示我们会生成一个名字为koa
的容器,并且将 docker 主机内的 /docker_study/koa-tempate 文件夹映射(挂载)到容器中的 app 文件夹,该容器是使用刚刚下载的有最新版本 node 的镜像生成的,并且使用 /bin/bash 命令来访问该容器。
执行完上面的命令,终端将会进入容器中,即终端显示[email protected]:/#
这样的。
容器承载着我们的应用,我们先将应用运行起来:
进入项目目录安装依赖
cd /app
npm install --registry=https://registry.npm.taobao.org --no-bin-links
如果没有
--no-bin-links
会报错,参考unknown symlink ‘../express/bin/express
依赖安装完成后,就可以开启我们的服务
node start.js
在主机浏览器打开网址http://192.168.99.100:3000/
即可访问,并且修改主机内docker_study/koa-template/views/base.html
的内容,刷新网页能够看到改变!
总结
作为一个个人开发者,使用 docker 最大的优点就是不用考虑配置环境了,想要学习新的语言直接运行一个容器就可以。
参考
作者:ltaoo
链接:https://www.jianshu.com/p/d809971b1fc1
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
docker——windows7下使用dockertoolbox
...https://docs.docker.com/docker-for-windows/install/本文的基础环境是Windows7,所以安装DockerToolbox(docker的一个工具集);官方建议是安装完成后重启一下电脑便于开启MicrosoftHyper-V,Windows10可以在任务管理器看到虚拟化已启用的字样。Kitematic.... 查看详情
如何在 Cassandra 4.0 Docker 容器上启用完整查询日志记录?
】如何在Cassandra4.0Docker容器上启用完整查询日志记录?【英文标题】:HowtoenablefullqueryloggingonaCassandra4.0Dockercontainer?【发布时间】:2021-02-1412:16:49【问题描述】:我想在启用FullQueryLogging(FQL)的情况下运行运行Cassandra4的Docker容器。... 查看详情
windows7系统下的docker
1.Boot2DockerBoot2Docker是实现Docker的软件。Windows下的Docker只适合于开发测试(大部分人也就是干开发测试的。。),不适合于生产环境。Boot2Docker的下载地址:https://github.com/boot2docker/可以在releases下选择任意的版本安装,或者直接访... 查看详情
windows7安装docker-compose的过程(代码片段)
Docker在Windows7系统上安装成功后[详情见Windows7下docker的安装以及遇到的问题],要用到docker-compose相关命令,而docker-compose相关命令在docker安装后不能直接使用,需要进行安装。因此,本篇文章主要讲在Windows7系统下如何安装docker-co... 查看详情
docker-记录在window上的一些“坑”
前言由于领导要在超极本上面演示一些东西,所以决定在window平台上面使用docker,于是乎,便有了下面的一些故事。。。 CPU/Memery的总体设置众所周知,在Linux上面使用docker的时候,我们从来都没有关心过CPU和Memory的设置,这... 查看详情
docker网络模式简单记录
docker网络模式有五种,分别是none,host,container,bridge(默认模式),自定义模式大家都知道,docker,也就是容器使用了linux的namespaces技术进行资源隔离,如PIDNamespace隔离进程,MountNamespace隔离文件系统,NetworkNamespace隔离网络等1... 查看详情
记录一次使用virtualbox和vagrant在centos环境下安装docker以及解决tomcat镜像404的问题(代码片段)
一、搭建centos7的环境1、初始化一份Vagrantfile文件命令mkdircentos7cdcentos7vagrantinit2、进入到Vagrantfile文件的目录下命令cdcentos7图解3、启动vagrant命令vagrantup图解在启动的过程中可能会让你选择网卡,如上图的1)en0,因为我用的是Wi-Fi... 查看详情
记录一次使用virtualbox和vagrant在centos环境下安装docker以及解决tomcat镜像404的问题(代码片段)
一、搭建centos7的环境1、初始化一份Vagrantfile文件命令mkdircentos7cdcentos7vagrantinit2、进入到Vagrantfile文件的目录下命令cdcentos7图解3、启动vagrant命令vagrantup图解在启动的过程中可能会让你选择网卡,如上图的1)en0,因为我用的是Wi-Fi... 查看详情
在 Docker 中启动完整容器?
】在Docker中启动完整容器?【英文标题】:StartfullcontainerinDocker?【发布时间】:2013-10-2009:23:04【问题描述】:根据thisgithubissue,应该可以使用Upstart、cron等使用Docker0.6或更高版本启动一个完整的容器,但我该怎么做?我早就料到... 查看详情
windows7上运行docker实战(代码片段)
...,它极大的方便了应用服务的部署。本文我们介绍如何在windows7上面安装使用docker。1.下载程序包安装包https://github.com/boot2docker/windows-installer/releases(这个地址国内下载很慢)用这个:https://get.daocloud.io/toolbox/下载最新版本的:Docker-... 查看详情
vadroot枚举进程模块在windows7下的完整实现
...小伟在http://bbs.pediy.com/showthread.php?t=66886说的挺清楚了,Windows7下有一些变化,使用NtQueryVirtualMemory来枚举模块是一个效率很低的事情,自己枚举VadRoot速度是很快的,有N个子节点时,为log(N),还有我在这里补上的基地址获取和... 查看详情
记录一次使用virtualbox和vagrant在centos环境下安装docker以及解决tomcat镜像404的问题(代码片段)
一、搭建centos7的环境1、初始化一份Vagrantfile文件命令mkdircentos7cdcentos7vagrantinit2、进入到Vagrantfile文件的目录下命令cdcentos7图解3、启动vagrant命令vagrantup图解在启动的过程中可能会让你选择网卡,如上图的1)en0,因为我用的是Wi-Fi... 查看详情
如何删除windows7最近使用的文档记录
这个教程将会教会你如何删除Windows7最近使用的文档记录。这其实很简单,通过一些系统优化软件就可以轻松完成。但是现在向大家介绍两种无需安装任何工具软件即可清除Windows7最近文档使用记录的方法:方法1在开始菜单中列... 查看详情
linux安装docker完整教程(代码片段)
背景最近接手了几个项目,发现项目的部署基本上都是基于Docker的,幸亏在几年前已经熟悉的Docker的基本使用,没有抓瞎。这两年随着云原生的发展,Docker在云原生中的作用使得它也蓬勃发展起来。今天这篇文章... 查看详情
linux安装docker完整教程(代码片段)
背景最近接手了几个项目,发现项目的部署基本上都是基于Docker的,幸亏在几年前已经熟悉的Docker的基本使用,没有抓瞎。这两年随着云原生的发展,Docker在云原生中的作用使得它也蓬勃发展起来。今天这篇文章... 查看详情
在没有主键的情况下使用 Find 在 dbSet 中查找记录
...户。在我目前的情况下,我不能使用他的ID。我必须使用完整的LINQ查询吗?例如 查看详情
docker容器引导完整centos
...ntOS5下,但新的库只有在CentOS6下才能用。然后用Docker启动完整OS,这样相对于ESX省资源一点点。 目前的环境是宿主机是ubuntu16.04,然后容器就centos5和centos6 首先直接从官方下载相关底包docker pull centos:5.11docker pull&... 查看详情
在 Docker 容器中使用 Laravel Mix 构建完整的 Tailwind 3 app.css 文件
】在Docker容器中使用LaravelMix构建完整的Tailwind3app.css文件【英文标题】:BuildthecompleteTailwind3app.cssfileusingLaravelMixinDockercontainer【发布时间】:2022-01-1611:41:26【问题描述】:我在Docker容器中设置了Laravel,并使用LaravelSail启动了它。... 查看详情