注册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文件
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
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是否开启虚拟化
开启任务管理器查看
检查Hyper-v是否开启
3、关闭Docker 服务,再重新启动Docker服务
net stop com.docker.service
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
docker version #查看版本
docker pull hello-world # 创建hello-world的镜像
docker images #查看镜像
docker run hello-world #运行镜像
docker search python #查找python相关库
docker search php #查找php相关库
docker pull php:7.3 #安装PHP7.3
docker ps -a -q #查看所有容器
docker ps -a #查看所有容器详情
docker ps -q #查看所有运行中的容器
docker restart $(docker ps -a -q) # 重启所有容器
docker restart $(docker ps -q) # 重启所有运行中的容器
docker ps -a #查看有哪些容器
docker stop nginx #停止容器nginx
docker start nginx #启动容器nginx
systemctl restart docker #如果是docker服务出了问题,重启docker服务
#复制本地文件到docker 容器
docker cp /Users/macbook/Desktop/docker/nginx/conf/default.conf nginx-web:/etc/nginx/conf.d/default.conf
# 进入容器
docker exec -it cb6c1fe83bff(php容器ID) bash
#stop停止所有容器
docker stop $(docker ps -a -q)
#查看已经下载的镜像
docker image ls
#删除容器
docker rm {容器ID}
#删除镜像
docker rmi {imageID}
#查看容器信息
docker inspect php01
#一次启动 nginx php redis容器(ps:推荐做法为为该命令取别名,更方便操作)
docker start nginx-web php-web php-web-73 php-web-80 redis-web
##查看PHP相关库
D:\softwore\docker>docker search php
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
php While designed for web development, the PHP … 6953 [OK]
composer Composer is a dependency manager written in … 951 [OK]
adminer Database management in a single PHP file. 800 [OK]
phpmyadmin phpMyAdmin - A web interface for MySQL and M… 717 [OK]
mediawiki MediaWiki is a free software open source wik… 464 [OK]
webdevops/php-nginx Nginx with PHP-FPM 244 [OK]
yourls YOURLS is a set of PHP scripts that will all… 208 [OK]
php-zendserver Zend Server - the integrated PHP application… 206 [OK]
bitnami/php-fpm Bitnami PHP-FPM Docker Image 155 [OK]
webdevops/php-apache-dev PHP with Apache for Development (eg. with xd… 155 [OK]
webdevops/php-apache Apache with PHP-FPM (based on webdevops/php) 130 [OK]
bitnami/phpmyadmin Bitnami Docker Image for phpMyAdmin 39 [OK]
circleci/php CircleCI images for PHP 35
webdevops/php-nginx-dev PHP with Nginx for Development (eg. with xde… 30 [OK]
webdevops/php PHP (FPM and CLI) service container 26 [OK]
bitnami/phpbb Bitnami Docker Image for phpBB 26 [OK]
dockage/phppgadmin phpPgAdmin Docker image, phpPgAdmin is a web… 18 [OK]
bitnami/phppgadmin 11
webdevops/php-dev PHP with debugging tools (eg. xdebug) 7 [OK]
phpcollab/phpcollab phpCollab is an open source internet-enabled… 7
newrelic/php-daemon New Relic’s PHP daemon gathers APM data from… 4
cimg/php 2
pipelinecomponents/php-codesniffer PHP Codesniffer in a container for gitlab-ci 2
okteto/php 0
clearlinux/php-fpm PHP FastCGI Process Manager implementation w… 0
##创建PHP7.3镜像
D:\softwore\docker>docker pull php:7.3
7.3: Pulling from library/php
ae13dd578326: Pull complete
f15d475049bf: Pull complete
886e5161983f: Pull complete
aa7666573a25: Pull complete
6db1ed4113b8: Pull complete
652562f77d1e: Pull complete
5a8076453eb5: Pull complete
98dc76ca390e: Pull complete
aa5d2d047430: Pull complete
e9c48c0512d6: Pull complete
Digest: sha256:bd6f2dc7a4e4537e927355c94a74c3022911aa504278f5f0fd94016c90dfaecc
Status: Downloaded newer image for php:7.3
docker.io/library/php:7.3
#查看镜像
D:\softwore\docker>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest 0256c63af7db 2 weeks ago 117MB
php 7.3 db0f973391f6 9 months ago 467MB
hello-world latest feb5d9fea6a5 15 months ago 13.3kB
接下来我们先知道docker命令的字母的意义
-v 挂载文件地址。因为每一个docker的容器都是相对一个独立的空间,如果想更方便的管理,最好还是将环境的日志以及配置文件都挂载在电脑的文件上,这样可以更加便利的管理
-p 对应上的端口号。
--name 给容器命名
-d 开启docker自动运行容器
--link 连接对上的容器
-e 设置容器的环境变量
参考:
https://blog.csdn.net/sinat_31057219/article/details/86536629
https://blog.csdn.net/Jrlriving/article/details/122379675
参考:https://huaweicloud.csdn.net/633111bad3efff3090b511d6.html
参考:https://www.php.cn/docker/498052.html