摘要:安裝安裝就不贅述了?,F(xiàn)在要在中安裝,先拉鏡像這個(gè)鏡像是把和整合到一起,可以看做是,要配合使用。先運(yùn)行起來(lái)表示將容器中的目錄映射到宿主環(huán)境的目錄,此時(shí)容器的目錄就是我們的網(wǎng)站根目錄,這個(gè)很關(guān)鍵。
1. 安裝php7
安裝docker就不贅述了?,F(xiàn)在要在docker中安裝php7,先拉鏡像:
docker pull php:7.1-fpm
這個(gè)鏡像是把php和php-fpm整合到一起,可以看做是php-fpm,要配合nginx使用。先運(yùn)行起來(lái):
docker run -p 9000:9000 --name php7 -v /docker/www:/www --privileged=true -d php:7.1-fpm
/docker/www:/www 表示將容器中的www目錄映射到宿主環(huán)境的/docker/www目錄,此時(shí)容器的www目錄就是我們的網(wǎng)站根目錄,這個(gè)很關(guān)鍵。之后的配置解析就要解析到這個(gè)www目錄下
2. 安裝nginx1.12docker pull nginx:1.12
運(yùn)行之前,我們要?jiǎng)?chuàng)建nginx的配置目錄和日志目錄
mkdir /docker/nginx/conf.d mkdir /docker/nginx/logs
然后在conf.d目錄下新建default.conf配置文件
server { listen 80; # 這個(gè)www目錄是nginx容器中的www目錄 root /www; server_name localhost; location / { index index.html index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; #這個(gè)www目錄是php-fpm容器中的www目錄 fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; include fastcgi_params; } }
最后運(yùn)行
docker run -p 80:80 --name nginx -v /docker/www:/www -v /docker/nginx/conf.d:/etc/nginx/conf.d -v /docker/nginx/logs:/wwwlogs --link php7:php --privileged=true -d nginx:1.12
注意一點(diǎn),nginx和php-fpm兩個(gè)容器需要掛載宿主環(huán)境中的同一個(gè)目錄才能正確解析,即/docker/www目錄
1. 安裝composer有時(shí)候需要使用composer來(lái)安裝PHP包,比如laravel,但是php-fpm鏡像中并沒(méi)有composer。所以我們?cè)傺b一個(gè)composer鏡像
docker pull composer
運(yùn)行composer容器和運(yùn)行php或者nginx容器不同,它不需要后臺(tái)運(yùn)行,而是使用命令行交互模式,即不使用-d,使用-it。同時(shí)composer是在PHP項(xiàng)目跟目錄運(yùn)行,所以也需要掛載/docker/www目錄
docker run -it --name composer -v /docker/www:/app --privileged=true composer <要執(zhí)行的composer命令>
比如新建laravel項(xiàng)目
docker run -it --name composer -v /docker/www:/app --privileged=true composer composer create-project --prefer-dist laravel/laravel ./ 5.5.*安裝mysql5.6
docker pull mysql:5.6
創(chuàng)建mysql的配置目錄,數(shù)據(jù)目錄,日志目錄
mkdir /docker/mysql/conf mkdir /docker/mysql/data mkdir /docker/mysql/logs
在/docker/mysql/conf目錄下新建my.cnf配置文件,如下
[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql #log-error = /var/log/mysql/error.log # By default we only accept connections from localhost bind-address = 0.0.0.0 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 init_connect="SET collation_connection = utf8_unicode_ci" init_connect="SET NAMES utf8" character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake #skip-grant-tables [client] default-character-set=utf8 [mysql] default-character-set=utf8
最后運(yùn)行容器:
docker run -p 3306:3306 --name mysql -v /docker/mysql/conf/my.cnf:/etc/mysql/conf.d/mysql.cnf -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mypass --privileged=true -d mysql:5.6
如果需要遠(yuǎn)程連接,還需要跑兩條sql
use mysql; GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "mypassword"; flush privileges;
完成!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/29653.html
摘要:安裝安裝就不贅述了?,F(xiàn)在要在中安裝,先拉鏡像這個(gè)鏡像是把和整合到一起,可以看做是,要配合使用。先運(yùn)行起來(lái)表示將容器中的目錄映射到宿主環(huán)境的目錄,此時(shí)容器的目錄就是我們的網(wǎng)站根目錄,這個(gè)很關(guān)鍵。 1. 安裝php7 安裝docker就不贅述了?,F(xiàn)在要在docker中安裝php7,先拉鏡像: docker pull php:7.1-fpm 這個(gè)鏡像是把php和php-fpm整合到一起,可...
摘要:用進(jìn)行操作為在的工作區(qū)域,項(xiàng)目也是掛載在里面,所有我們可以直接在容器里運(yùn)行。或者進(jìn)入宿主機(jī)目錄下用命令注意事項(xiàng)注意掛載路徑構(gòu)建失敗時(shí),注意容器內(nèi)是否報(bào)錯(cuò)加速鏡像。本文首發(fā)在我的博客徒手用構(gòu)建自己的開(kāi)發(fā)環(huán)境 1. 前言 1.1 為什么要用 Docker ? 是否有這樣的場(chǎng)景,你搞了一個(gè)項(xiàng)目,在本地開(kāi)發(fā)時(shí)需要搭建環(huán)境,放到線上時(shí)也需要搭建環(huán)境,到公司想暗戳戳玩一下要搭建環(huán)境,不搭還不行,因...
摘要:用進(jìn)行操作為在的工作區(qū)域,項(xiàng)目也是掛載在里面,所有我們可以直接在容器里運(yùn)行?;蛘哌M(jìn)入宿主機(jī)目錄下用命令注意事項(xiàng)注意掛載路徑構(gòu)建失敗時(shí),注意容器內(nèi)是否報(bào)錯(cuò)加速鏡像。本文首發(fā)在我的博客徒手用構(gòu)建自己的開(kāi)發(fā)環(huán)境 1. 前言 1.1 為什么要用 Docker ? 是否有這樣的場(chǎng)景,你搞了一個(gè)項(xiàng)目,在本地開(kāi)發(fā)時(shí)需要搭建環(huán)境,放到線上時(shí)也需要搭建環(huán)境,到公司想暗戳戳玩一下要搭建環(huán)境,不搭還不行,因...
摘要:環(huán)境要求安裝了的主機(jī)本文示例環(huán)境為準(zhǔn)備鏡像首先把所有需要用到的鏡像拉取下來(lái)容器編排是容器進(jìn)行編排的工具,定義和運(yùn)行多容器的應(yīng)用,可以一條命令啟動(dòng)多個(gè)容器。 環(huán)境要求:安裝了docker的主機(jī) (本文示例環(huán)境為centos7.4) 準(zhǔn)備鏡像 首先把所有需要用到的鏡像拉取下來(lái) # nginx $ docker pull nginx # php & php-fpm $ docker pul...
閱讀 1803·2021-11-18 10:02
閱讀 3531·2021-11-16 11:45
閱讀 1796·2021-09-10 10:51
閱讀 2113·2019-08-30 15:43
閱讀 1383·2019-08-30 11:23
閱讀 1491·2019-08-29 11:07
閱讀 1897·2019-08-23 17:05
閱讀 1424·2019-08-23 16:14