在 windows 下 docker 只支持 win10 原生的安裝抵怎,在 win7 下只能使用 docker toolbox 來創(chuàng)建虛擬機模擬 docker 環(huán)境颖御。docker toolbox 使用 virtualbox 創(chuàng)建 linux 虛擬機,并在 linux 虛擬機上安裝 docker炊豪。同時在 windows 上提供了 docker-machine
命令行來控制虛擬機的啟動/關(guān)閉等市怎。
在 windows 上搭建開發(fā)環(huán)境需要解決 windows 目錄到 linux 虛擬機的掛載,進而再解決 docker 宿主機 (linux) 目錄到 docker 容器的目錄映射舵稠。
默認 docker 虛擬機只掛載了 \\?\c:\Users
對應(yīng) linux 下的 c/Users
,我們需要添加 windows 的共享目錄入宦,如下
然后用 ssh 登錄到 docker 宿主機
$ docker-machine ssh defualt
在宿主機上掛載 windows 共享目錄
$ sudo mkdir -p /mnt/src
$ sudo mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` src /mnt/src
然后在宿主機上查看 windows 共享目錄
$ ls /mnt/src
下面配置宿主機在啟動時掛載 windows 共享目錄
$ sudo touch /mnt/sda1/var/lib/boot2docker/bootlocal.sh
$ sudo vi /mnt/sda1/var/lib/boot2docker/bootlocal.sh
添加如下的代碼
mkdir -p /mnt/src
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` src /mnt/src
重啟宿主機
$ docker-machine restart default
連上宿主機哺徊,查看共享目錄
$ docker-machine ssh default
$ ls /mnt/src
現(xiàn)在你應(yīng)該能看到文件了。接下來就是在宿主機上折騰 docker 命令行了乾闰,拉取鏡像唉工,配置 docker-compose.yml 文件,使用 docker-compose 來管理服務(wù)汹忠。將持久化的文件保存在 windows 目錄下。
在 windows 下用 git 遷出項目雹熬,然后在 ssh 上執(zhí)行命令宽菜。在 windows 下用虛擬機 ip 訪問 web 項目。
宿主機并沒有安裝 docker-compose
命令行竿报,但是在 windows 下的 git bash 下可以使用 docker-compose
命令行铅乡,我們從 github 上拉下來的 docker-compose.yml 宿主機目錄映射要改為 - /mnt/src:/app
。
從 github 拉取一個 docker-compose.yml 來搭建 Laravel 環(huán)境
我們從 bitnami-docker-laravel 這個項目開始配置:
在共享目錄下 H:\php_docker_test 下
在 windows 下用 git bash 拉取 docker-compose.yml 文件
$ curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-laravel/master/docker-compose.yml
編輯 docker-compose.yml 文件
version: '2'
services:
mariadb:
image: bitnami/mariadb:latest
environment:
- MARIADB_USER=my_user
- MARIADB_DATABASE=my_database
- MARIADB_PASSWORD=my_password
myapp:
tty: true
image: bitnami/laravel:latest
environment:
- DB_HOST=mariadb
- DB_USERNAME=my_user
- DB_DATABASE=my_database
- DB_PASSWORD=my_password
depends_on:
- mariadb
ports:
- 3000:3000
volumes:
- /mnt/src:/app
將 volumes 下的目錄映射為宿主機(linux)下的目錄烈菌,然后在 windows 下的 bash 下執(zhí)行
docker-compose up
接下來會拉取容器鏡像阵幸,并運行容器實例芽世。
最后打開 http://192.168.99.100:3000/ 瀏覽 Laravel 應(yīng)用。
在 windows 下修改文件济瓢,然后刷新荠割。
注意: docker toolbox 自帶的 virtulbox 有問題的話旺矾,改用 VirtualBox-4.3.12-93733-Win.exe
版