我在使用laradock的時(shí)候氢惋,碰到一些常見的坑,借此記錄一下甩恼,也為小白提供一些解決思路
1.首先確保你的環(huán)境中安裝了git每瞒,執(zhí)行命令克隆
git clone https://github.com/laradock/laradock.git
得到laradock目錄
2.進(jìn)入laradock根目錄,執(zhí)行cp env-example .env
env文件中暇唾,我們可以指定對(duì)應(yīng)的軟件版本促脉,比如我們修改mysql版本為5.7 MYSQL_VERSION=5.7.26
,php版本為7.4 PHP_VERSION=7.4
修改版本號(hào)之后,需要重新構(gòu)建容器策州,這里我們都使用docker-compose
來(lái)管理我們的容器瘸味,
docker-compose build php-fpm mysql
3.構(gòu)建workspace
工作區(qū) docker-compose build workspace
worspace容器主要用來(lái)管理項(xiàng)目的。 例如:執(zhí)行一些cli的命令够挂、php artisan旁仿、composer、php --version
孽糖。 進(jìn)入容器枯冈,執(zhí)行一些常用命令:
docker-compose exec --user=laradock workspace bash
這里需要注意的是,如果提示權(quán)限問(wèn)題办悟,需要加上--user=laradock
參數(shù),進(jìn)入容器后尘奏,可以執(zhí)行常用操作,例如laravel項(xiàng)目中php artisan migrate
假如在構(gòu)建workspace的時(shí)候出現(xiàn)以下報(bào)錯(cuò):
ERROR: Service 'workspace' failed to build: The command '/bin/sh -c if [ ${INSTALL_NODE} = true ]; then mkdir -p $NVM_DIR && curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash && . $NVM_DIR/nvm.sh && nvm install ${NODE_VERSION} && nvm use ${NODE_VERSION} && nvm alias ${NODE_VERSION} && if [ ${NPM_REGISTRY} ]; then npm config set registry ${NPM_REGISTRY} ;fi && if [ ${INSTALL_NPM_GULP} = true ]; then npm install -g gulp ;fi && if [ ${INSTALL_NPM_BOWER} = true ]; then npm install -g bower ;fi && if [ ${INSTALL_NPM_VUE_CLI} = true ]; then npm install -g @vue/cli ;fi && if [ ${INSTALL_NPM_ANGULAR_CLI} = true ]; then npm install -g @angular/cli ;fi && ln -s `npm bin --global` /home/laradock/.node-bin ;fi' returned a non-zero code: 2
此問(wèn)題出現(xiàn)有兩種解決方式:
第一種:可能是https://raw.githubusercontent.com 被墻了病蛉。此時(shí)炫加,可以Ping一下瑰煎,如果ping不通,說(shuō)明是此問(wèn)題俗孝,我們?cè)谠L問(wèn)https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh,如果頁(yè)面沒(méi)有正常訪問(wèn)酒甸,則確定是此問(wèn)題,這個(gè)時(shí)候赋铝,我們需要去www.ipaddress.com去查看一下此網(wǎng)址的真實(shí)IP插勤,然后去修改/etc/hosts
文件,例如:199.232.68.133 raw.githubusercontent.com
柬甥,然后去重新構(gòu)建饮六,如果正常則說(shuō)明成功
第二種:如果第一種方式解決不了,而上面的網(wǎng)址又能正常訪問(wèn)苛蒲,這個(gè)時(shí)候說(shuō)明是安裝腳本的問(wèn)題卤橄,此時(shí)我們需要去修改.env
文件,搜索WORKSPACE_
臂外,然后將上述報(bào)錯(cuò)的選項(xiàng)全部設(shè)置為false
,然后重新構(gòu)建窟扑,正常則成功
下面開始構(gòu)建我們的容器
docker-compose up -d nginx mysql
正常情況下workspace
和 php-fpm
會(huì)自動(dòng)運(yùn)行,所以不需要再 up 命令中指定它們漏健, 如果他們沒(méi)有自動(dòng)運(yùn)行嚎货,那么你需要這樣指定它們:
docker-compose up -d nginx php-fpm mysql workspace
所有的網(wǎng)站配置文件在/laradock/nginx/sites
文件夾下,網(wǎng)站目錄最好和laradock同級(jí)