windows 安装docker使用教程

一、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文件

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是否开启虚拟化

开启任务管理器查看

  1. 检查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

三、部署PHP应用

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

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

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxw1844912514

你的打赏就是对我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值