如何在docker下运行windows程序

如何在docker下运行windows程序,第1张

我们来了解一下Windows *** 作系统中的Docker以及在其中安装DockerWindows客户端的知识。Docker引擎使用Linux特有的内核特性,因此不能通过Windows内核运行,所以,(在Windows上)Docker引擎创建了一个小的虚拟系统运行Linux并利用它的资源和内核。这样,WindowsDocker客户端就可以用这个虚拟的Docker引擎来构建、运行以及管理Docker容器。有个叫Boot2Docker的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于TinyCoreLinux特制的小型Linux,来在Windows上运行Docker容器。它完全运行在内存中,需要大约27M内存并能在5秒(因人而异)内启动。因此,在用于Windows的Docker引擎被开发出来之前,我们在Windows机器里只能运行Linux容器。下面是安装Docker客户端并在上面运行容器的简单步骤。1.下载Boot2Docker在我们开始安装之前,我们需要Boot2Docker的可执行文件。可以从它的Github下载最新版本的Boot2Docker。在这篇指南中,我们从网站中下载版本v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为docker-install.exe的文件。2.安装Boot2Docker现在我们运行安装文件,它会安装WindowDocker客户端、用于Windows的Git(MSYS-git)、VirtualBox、Boot2DockerLinuxISO以及Boot2Docker管理工具,这些对于开箱即用地运行全功能的Docker引擎都至关重要。3.运行Boot2Docker安装完成必要的组件之后,我们从桌面上的“Boot2DockerStart”快捷方式启动Boot2Docker。它会要求你输入以后用于验证的SSH密钥。然后会启动一个配置好的用于管理在虚拟机中运行的Docker的unixshell。检查否确配置运行面dockerversion命令dockerversion4.运行Docker由于Boot2DockerStart自启已经确设置环境变量shell我马始使用Docker请注意我要Boot2Docker作远程Docker守护进程要docker命令前加sudo现让我试试hello-world例镜像载hello-world镜像运行并输"HellofromDocker"信息$dockerrunhello-world5.使用命令提示符(CMD)运行Docker现想始用命令提示符使用Docker打命令提示符(CMD.exe)由于Boot2Docker要求ssh.exePATH我需要命令提示符输入命令使%PATH%环境变量包括Git安装目录bin文件夹setPATH=%PATH%"c:\ProgramFiles(x86)\Git\bin"运行面命令我命令提示符运行boot2dockerstart启Boot2Docker虚拟机boot2dockerstart注意:看machinedoesnoexist错误信息运行boot2dockerinit命令复制图控制台标命令cmd.exe控制台窗口设置环境变量我像平运行docker容器6.使用PowerShell运行Docker能PowerShell运行Docker我需要启PowerShell窗口并添加ssh.exePATH变量$Env:Path="${Env:Path}c:\ProgramFiles(x86)\Git\bin"运行完面命令我需要运行boot2dockerstart打印用于设置环境变量连接虚拟机内部运行DockerPowerShell命令我需要PowerShell运行些命令平运行docker容器7.用PUTTY登录Boot2Docker%USERPROFILE%.ssh目录使用用于登录公共私密钥我需要使用文件夹私密钥私密钥需要转换PuTTY格式我通puttygen.exe实现我需要打puttygen.exe并%USERPROFILE%.ssh\id_boot2docker导入("File"->"Load"菜单)私钥点击"SavePrivateKey"用保存文件通PuTTY用[email protected]:2022登录8.Boot2Docker选项Boot2Docker管理工具提供些命令所示$boot2dockerUsage:boot2docker.exe[]{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version}[]总结通DockerWindows客户端使用Docker趣Boot2Docker管理工具能使任何Docker容器能像Linux主机平滑运行棒应用程序更仔细发现boot2docker默认用户用户名docker密码tcuser新版本boot2docker设置host-only网络适配器提供访问容器端口般说192.168.59.103通VirtualBoxDHCP实现改变

步骤一:首先你得安装了 docker

步骤二:找到你的项目路径 在终端输入 cd +项目路径

步骤三:找到docker安装相关插件 

到docker目录下执行命令:docker-compose up scrapyd 创建项目爬虫环境及运行docker镜像

第四步:进入docker

命令:docker-compose exec scrapy bash(执行bash程序)

第五步:找到要执行文件的目录

命令:cd  spider (进入spider) 

命令:scrapy crawl + 文件名

报错与升级:

镜像需要升级:

拓展:

中止爬取快捷键:control+cc   选中即复制 control+w 删除一个单词

(mac电脑,window请自行百度 哈哈)

平时大家在开发php项目的时候,本地都要装php程序和composer,做单元测试的时候还需要phpunit,如果需要单测覆盖率的话还要开启debug,本文将使用一个docker镜像搞定这些。

下面是一个php7.3+composer2.1+phpunit9.5的dockerfile,大家也可以根据自己的需要进行修改,然后自己构建为镜像

我把构建的镜像打个标签phpstorm:7.3-composer,方便下边使用

也可以拉取我已经构建好的镜像

本地要先启动docker desktop

2.1点击配置 》PHP 》CLI解释器

2.2 点击+ 》Form docker 》 docker 》选择第一步构建的镜像

2.3 添加成功后如下图,我们可以看到php版本号和xdebug的版本,然后点击应用,确定

2.4 这时已经配置成功了,phpstorm会自动生成路径映射,把项目根目录映射到容器中/opt/project

3.1 这步配置比较简单,看图就可以了

3.2 安装一个包测试一下

新建一个composer.json文件,点击 【工具】 》【composer】》【管理依赖项】》在composer.json文件里随便写一个包名,然后点击安装,如果执行成功,这步就完成了。如果失败,可以查看事件日志是否缺少某些php扩展,然后在dockerfile里安装扩展,重新构建镜像,再次点击composer安装,重新构建镜像不用再重新配置phpstorm。

添加命令行工具,选择composer

看到输出composer版本号,也就配置成功一半了。

我们执行下

配置就直接看图吧

写个单元测试一下,首先准备一个要测试的文件如下

然后点击 【使用覆盖率运行】,开始测试


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12073672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存