docker搭建php環境

2021-10-04 01:31:46 字數 4531 閱讀 1131

我的伺服器是ubuntu的

一、先安裝docker

更新apt包索引:

sudo apt-get update
允許apt通過https使用repository安裝軟體包

新增docker官方gpg key

驗證key的指紋

sudo apt-key fingerprint 0

ebfcd88

新增穩定版repository

sudo add-apt-repository \

"deb [arch=amd64] \

$(lsb_release -cs) \

stable"

sudo apt-get update

安裝最新版本的docker ce和containerd

sudo apt-get install docker-ce docker-ce-cli containerd.io
安裝指定版本的

檢視可獲取的版本 apt-cache madison docker-ce

version_string填寫上面的版本就可以了,如下圖所示

驗證:docker --version

sudo docker run hello-world

以下版本號填寫時,可以在

搜尋你要拉取的映象,檢視版本號

二、安裝mysql

docker pull mysql:版本號(不填也行)

##建立檔案

mkdir ~/mysql

cd ~/mysql

##建立mysql

宿主機連線容器埠

docker run -id \

-p 3307

:3306 \

--name=c_mysql \

-v $pwd

/conf:

/etc/mysql/conf.d \

-v $pwd

/logs:

/logs \

-v $pwd

/data:/

var/lib/mysql \

-e mysql_root_password

=123456 \

mysql:

5.7

pwd:相當於當前路徑

三、安裝nginx

docker pull nginx

docker run --name c_nginx -p 8081:80

-d nginx

然後docker ps去獲取名稱為c_nginx 的id

mkdir ~

/nginx

cd ~

/nginx

mkdir conf

mkdir ~

/www/html

docker cp db90115d2209:

/etc/nginx/nginx.conf ~

/nginx/conf

上面 docker cp db90115d2209:/etc/nginx/nginx.conf /nginx/conf這步不用操作也可,直接複製下面的**在/nginx/conf建立nginx.conf

cp後面的id填寫獲取的c_nginx的id

關閉上面建立的nginx容器

docker stop c_nginx

建立容器,對映埠,掛載

docker run -d -p 80:80

--name nginx-web -v ~

/www/html:

/usr/share/nginx/html -v ~

/nginx/conf/nginx.conf:

/etc/nginx/nginx.conf -v ~

/nginx/logs:

/var

/log/nginx nginx

之後在~/www/html中建立index.html檔案,即可訪問

四、安裝php

docker pull php:版本號

docker run --name  c_php -v ~

/www/html:

/www -d php:

7.2-fpm

mkdir ~

/nginx/conf.d #建立儲存nginx配置檔案的目錄

cd ~/nginx/conf.d

vim test.conf

server 

error_page 500

502503

504/

50x.html;

location =

/50x.html

location ~ \.php$

}

建立乙個關聯nginx,php的容器,對映埠號,並掛載

docker run --name php-nginx-web -p 80:80

-d \

-v ~

/www/html:

/usr/share/nginx/html:ro \

-v ~

/nginx/conf.d:

/etc/nginx/conf.d:ro \

--link c_php:php \

nginx

這裡一定要停掉之前的對映到宿機的80埠的容器

四、安裝redis

##安裝redis

docker pull redis:版本號(不填最新版)

##建立容器,設定埠對映

docker run -id --name=名字 -p 6379

:6379 redis:版本號

五、安裝swoole擴充套件

進入php容器中

docker exec -it c_php /bin/bash
cd /usr/local/etc/php

cp php.ini-development php.ini

安裝swoole

pecl install swoole

rm -rf /tmp/pear

編輯php.ini新增swoole擴充套件

echo

"extension=swoole.so "

>

>

/usr/local/etc/php/php.ini

重新開啟乙個命令列,重啟容器

docker restart c_php
重新整理就可以看見,安裝成功

安裝redis擴充套件``

docker exec -it c_php /bin/bash
pecl install -o -f redis \

&& rm -rf /tmp/pear \

&& docker-php-ext-enable redis

echo

"extension=redis.so "

>

>

/usr/local/etc/php/php.ini

以上資訊參考了michael·ren的客

Docker 實踐搭建php環境

docker pull 2233466866 lnmp建立基本目錄 docker run itd v sys fs cgroup sys fs cgroup ro privileged true name lnmp 2233466866 lnmp docker exec it lnmp bin ba...

搭建Docker環境

直接yum安裝,安裝成功後檢視版本 docker v 啟動docker service docker start 設定開機啟動 chkconfig docker on 配置 docker 依次執行以下命令 echo options registry mirror etc sysconfig dock...

docker環境搭建

安裝curl ssl sh檢視docker版本docker v更換映象源sudo su cat etc docker daemon.json eof eofsystemctl restart docker exitsudo docker pull nginx alpine啟動nginxsudo do...