在Win10建立虛擬機,並在虛擬中安裝`docker` === ## 執行環境 * Windows 10 * VirtualBox * vagrant * 虛擬機中安裝ubuntu 20.04 x64 * 必須啟動BIOS中Intel Virtualization Technology ## Windows 10環境準備 * 先檢查BIOS中是否有開啟VT-X * 將Windows 10的HYPER-V關掉,進入`控制台`->`程式集`->`開啟或關閉Windows功能`->`Windows Hypervisor平台`一定要全部不打公。 * 同樣地方,`虛擬機器平台`也不能打勾。 * 下載Virtualbox https://www.virtualbox.org/ * 下載vagrant https://www.vagrantup.com/ * 安裝VirtualBox及vagrant * 重新開機 ## vagrant設定 1. 進入Windows Power Shell 2. 安裝外掛`vagrant plugin install vagrant-vbguest` 3. 檢視外掛`vagrant plugin list` 4. 更新外掛`vagrant plugin update` ## 建立虛擬機 * 進入powershell * `cd ~`進入家目錄 * `mkdir docker_test`建立docker虛擬機目錄 * 初始化`vagrant init ubuntu/focal64` * 開放port forwarding對應,把虛擬機的8080對到本機的9090 * `notepad Vagrantfile` ![](https://i.imgur.com/fHAouH4.png) * `notepad Vagrantfile`將記憶體改成4GB ![](https://i.imgur.com/26jfiQw.png) * `vagrant up`啟動虛擬機 * `vagrant ssh`進入虛擬機即完成。 ## 安裝docker * `sudo apt-get update` * `sudo apt-get upgrade` * `curl -fsSL https://get.docker.com -o get-docker.sh` * `sudo sh get-docker.sh` * `sudo groupadd docker` * `sudo usermod -aG docker $USER` * 要先離開環境再進去,`exit`之後再`vagrant ssh`,或是重新開機 * 檢查docker是否安裝成功`docker version` ## 如果沒有`docker`這個group https://gist.github.com/mshRoR/555f26c2c9048030d1ae7b1770fae63f ```shell vagrant@ubuntu-xenial:~$ docker version Client: Docker Engine - Community Version: 19.03.2 API version: 1.40 Go version: go1.12.8 Git commit: 6a30dfc Built: Thu Aug 29 05:28:19 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.2 API version: 1.40 (minimum version 1.12) Go version: go1.12.8 Git commit: 6a30dfc Built: Thu Aug 29 05:26:54 2019 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.6 GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb runc: Version: 1.0.0-rc8 GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f docker-init: Version: 0.18.0 GitCommit: fec3683 ``` * 執行`docker run -d --name web -p 8080:80 tutum/apache-php`。 * 進入Windows 10本機的瀏覽器,輸入`localhost:9090`,出現下圖表示成功 ![](https://i.imgur.com/Oshc14R.png)