[转]完整记录在windows7下使用docker的过程(代码片段)

freeliver54 freeliver54     2023-01-01     200

关键词:

本文转自: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 命令终端,如果没有安装建议勾选
 
技术分享图片
安装选项-1

继续下一步

  • Create a desktop shortcut
  • Add docker binaries to PATH
  • Upgrade Boot2Dcoker VM
 
技术分享图片
安装选项-2

三个选项全部勾选,下一步就开始安装软件到系统中,等待一会即可完成安装。

初始化虚拟机

打开安装目录,不出意外目录结构是这样的:

├──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文件夹,勾选“自动挂载”、“固定分配”,确定。

 
技术分享图片
设置共享文件夹-1

 
技术分享图片
设置共享文件夹-2

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启动了它。... 查看详情