当前位置:   article > 正文

windows 安装docker使用教程_dockerwindows下安装使用

dockerwindows下安装使用

一、win10上安装docker

注册docker账号

配置虚拟化

启用 bios 虚拟化,是否已启用可以通过任务管理器查看

如果没有启动请看,否则可以直接跳到2开启 Hyper-V进行后续操作:

irtualization Technology(VT),中文译为虚拟化技术,英特尔(Intel)和AMD的大部分CPU均支持此技术,名称分别为VT-x、AMD-V。VT开启之后对虚拟机,比如VMware、海马玩/靠谱助手等安卓模拟器的性能有非常大的提高。

BIOS开启VT指南

一、进入BIOS

参考以下按键,开机时按住对应的键进入BIOS:

组装机以主板分,华硕按F8、Intel按F12,其他品牌按ESC、F11或F12;

笔记本以品牌分,联想ThinkPad系列按F1,其他品牌按F2;

品牌台式机按品牌分, Dell按ESC,其他按F12;

如果仍然不能进入BIOS,找找电脑(主板)说明书或者参考BIOS设置怎么进入图解教程。

二、开启VT

1、Phoenix BIOS机型

(1)进入BIOS,选择Configuration选项,选择Intel Virtual Technology并回车。注意:若无VT选项或不可更改,则表示你的电脑不支持VT技术。

(2)将光标移动至Enabled处,并回车确定。

(3)此时该选项将变为Enabled,最后按F10热键保存并退出即可开启VT功能。

2、Insyde BIOS机型

(1)进入BIOS,选择Configuration选项,选择Intel Virtual Technology并回车。

(2)将光标移动至Enabled处,并回车确定。

(3)此时该选项将变为Enabled,最后按F10热键保存并退出即可开启VT功能。

再资源管理器中再查看一次,显示已经启用则开始后续操作。

开启 Hyper-V

但我这win10上没有Hyper-V别慌,若是你也没有我们来下载Hyper-V。

找了很久没有找到教程,终于找到了这个宝藏博客,附上原创博主文章链接:

文章链接

Hyper-V是Windows自带的虚拟机产品,用的还挺顺手。但是在win10家庭版木有Hyper-V,这让人很DT,如果你和我一样DT,那请看下面的教程。

将如下代码添加到记事本中,并另存为Hyper-V.cmd文件

  1. pushd "%~dp0"
  2. dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
  3. for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
  4. del hyper-v.txt
  5. Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

我们找到Hyper-V.cmd文件图标,在右键菜单中点击:以管理员身份运行

然后弹出一个 用户帐户控制 - Windows命令处理程序 对话框,我们点击:是

然后系统自动进行Windows命令处理,我们等待处理完成以后,【这个过程中不要关闭窗口或者关机】在最末处输入:Y,电脑自动重启,进行配置更新

电脑重启之后,在window管理工具中可以看到已经成功安装了Hyper-V。这样就可以在不用重装专业版系统的情况下,使用Hyper-V虚拟机了

到这就好了,我们准备工作就完成,现在开始我们安装Docker

下载安装docker

官网链接直接附上Install Docker Desktop on Windows | Docker Documentation官网下载地址

下载后直接Next安装就完事;

安装完需要重启电脑,待重启结束后,docker会自动运行。我们看一下docker是否成功启动。如果看到下面的界面,则证明一切正常。

我很不幸运,因为再安装前我没有将Hyper-V安装配置好,于是出现:

Docker failed to initialize并一直处于starting

以下是排查方法,解决Docker 一直starting 的办法

1、检查CPU是否开启虚拟化

开启任务管理器查看

  1. 检查Hyper-v是否开启

3、关闭Docker 服务,再重新启动Docker服务

  1. net stop com.docker.service
  2. net start com.docker.service

关闭docker,Hyper-V安装配置好,再次运行

很不幸又出错误了:

搜索发现是wsl版本太老了,需要更新

适用于 x64 计算机的 WSL2 Linux 内核更新包

如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:systeminfo | find “System Type”。 警告: 在非英语 Windows 版本中,你可能需要修改搜索文本,例如在德语中为 systeminfo | find “Systemtyp”。

安装适用于 Linux 的 Windows 子系统 (WSL) 时有两个选项:

简化安装 (预览版) :wsl --install

要使用 wsl --install 简化安装命令,你需要加入 Windows 预览体验计划 并安装 Windows 10 的预览版(OS 版本 20262 或更高版本),但不需要执行手动安装步骤。 只需使用管理员权限打开命令窗口并运行 wsl --install,重启后即可使用 WSL。

这里我直接下载了ARM64包( https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)点击安装后,重启,点击docker完美解决!!!

检查一下

再cmd中输入:

安装成功!!!

参考https://blog.csdn.net/weixin_44054756/article/details/119612212

二、常用命令

  1. docker version #查看版本
  2. docker pull hello-world # 创建hello-world的镜像
  3. docker images #查看镜像
  4. docker run hello-world #运行镜像
  5. docker search python #查找python相关库
  6. docker search php #查找php相关库
  7. docker pull php:7.3 #安装PHP7.3
  8. docker ps -a -q #查看所有容器
  9. docker ps -a #查看所有容器详情
  10. docker ps -q #查看所有运行中的容器
  11. docker restart $(docker ps -a -q) # 重启所有容器
  12. docker restart $(docker ps -q) # 重启所有运行中的容器
  13. docker ps -a #查看有哪些容器
  14. docker stop nginx #停止容器nginx
  15. docker start nginx #启动容器nginx
  16. systemctl restart docker #如果是docker服务出了问题,重启docker服务
  1. #复制本地文件到docker 容器
  2. docker cp /Users/macbook/Desktop/docker/nginx/conf/default.conf nginx-web:/etc/nginx/conf.d/default.conf
  3. # 进入容器
  4. docker exec -it cb6c1fe83bff(php容器ID) bash
  5. #stop停止所有容器
  6. docker stop $(docker ps -a -q)
  7. #查看已经下载的镜像
  8. docker image ls
  9. #删除容器
  10. docker rm {容器ID}
  11. #删除镜像
  12. docker rmi {imageID}
  13. #查看容器信息
  14. docker inspect php01
  15. #一次启动 nginx php redis容器(ps:推荐做法为为该命令取别名,更方便操作)
  16. docker start nginx-web php-web php-web-73 php-web-80 redis-web

  1. ##查看PHP相关库
  2. D:\softwore\docker>docker search php
  3. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  4. php While designed for web development, the PHP … 6953 [OK]
  5. composer Composer is a dependency manager written in … 951 [OK]
  6. adminer Database management in a single PHP file. 800 [OK]
  7. phpmyadmin phpMyAdmin - A web interface for MySQL and M… 717 [OK]
  8. mediawiki MediaWiki is a free software open source wik… 464 [OK]
  9. webdevops/php-nginx Nginx with PHP-FPM 244 [OK]
  10. yourls YOURLS is a set of PHP scripts that will all… 208 [OK]
  11. php-zendserver Zend Server - the integrated PHP application… 206 [OK]
  12. bitnami/php-fpm Bitnami PHP-FPM Docker Image 155 [OK]
  13. webdevops/php-apache-dev PHP with Apache for Development (eg. with xd… 155 [OK]
  14. webdevops/php-apache Apache with PHP-FPM (based on webdevops/php) 130 [OK]
  15. bitnami/phpmyadmin Bitnami Docker Image for phpMyAdmin 39 [OK]
  16. circleci/php CircleCI images for PHP 35
  17. webdevops/php-nginx-dev PHP with Nginx for Development (eg. with xde… 30 [OK]
  18. webdevops/php PHP (FPM and CLI) service container 26 [OK]
  19. bitnami/phpbb Bitnami Docker Image for phpBB 26 [OK]
  20. dockage/phppgadmin phpPgAdmin Docker image, phpPgAdmin is a web… 18 [OK]
  21. bitnami/phppgadmin 11
  22. webdevops/php-dev PHP with debugging tools (eg. xdebug) 7 [OK]
  23. phpcollab/phpcollab phpCollab is an open source internet-enabled… 7
  24. newrelic/php-daemon New Relic’s PHP daemon gathers APM data from… 4
  25. cimg/php 2
  26. pipelinecomponents/php-codesniffer PHP Codesniffer in a container for gitlab-ci 2
  27. okteto/php 0
  28. clearlinux/php-fpm PHP FastCGI Process Manager implementation w… 0
  29. ##创建PHP7.3镜像
  30. D:\softwore\docker>docker pull php:7.3
  31. 7.3: Pulling from library/php
  32. ae13dd578326: Pull complete
  33. f15d475049bf: Pull complete
  34. 886e5161983f: Pull complete
  35. aa7666573a25: Pull complete
  36. 6db1ed4113b8: Pull complete
  37. 652562f77d1e: Pull complete
  38. 5a8076453eb5: Pull complete
  39. 98dc76ca390e: Pull complete
  40. aa5d2d047430: Pull complete
  41. e9c48c0512d6: Pull complete
  42. Digest: sha256:bd6f2dc7a4e4537e927355c94a74c3022911aa504278f5f0fd94016c90dfaecc
  43. Status: Downloaded newer image for php:7.3
  44. docker.io/library/php:7.3
  45. #查看镜像
  46. D:\softwore\docker>docker images
  47. REPOSITORY TAG IMAGE ID CREATED SIZE
  48. redis latest 0256c63af7db 2 weeks ago 117MB
  49. php 7.3 db0f973391f6 9 months ago 467MB
  50. hello-world latest feb5d9fea6a5 15 months ago 13.3kB
  1. 接下来我们先知道docker命令的字母的意义
  2. -v 挂载文件地址。因为每一个docker的容器都是相对一个独立的空间,如果想更方便的管理,最好还是将环境的日志以及配置文件都挂载在电脑的文件上,这样可以更加便利的管理
  3. -p 对应上的端口号。
  4. --name 给容器命名
  5. -d 开启docker自动运行容器
  6. --link 连接对上的容器
  7. -e 设置容器的环境变量

参考:

https://blog.csdn.net/sinat_31057219/article/details/86536629

https://blog.csdn.net/Jrlriving/article/details/122379675

三、部署PHP应用

参考:https://huaweicloud.csdn.net/633111bad3efff3090b511d6.html

参考:https://www.php.cn/docker/498052.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/565240
推荐阅读
相关标签
  

闽ICP备14008679号