日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

docker 添加端口映射_Docker快速搭建PHP开发环境详细教程

發(fā)布時間:2023/12/19 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 添加端口映射_Docker快速搭建PHP开发环境详细教程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

想必作為一個web開發(fā)的程序員,近些年對docker技術一定不會陌生,docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

使用docker主要有以下好處:

1. docker容器之間相互獨立,可以在一個服務器上面搭建多套環(huán)境。

2. docker容器內(nèi)有已經(jīng)部署好的軟件安裝環(huán)境,搭建集成環(huán)境相當方便。

本文就按照docker標準,搭建一個基于LAMP架構的PHP運行環(huán)境(MySQL、Nginx、PHP_FPM)。

安裝docker

1. 安裝docker,使用如下命令。

yum install docker

2. 查看docker版本,檢測是否安裝成功。

docker --version

3. 設置docker加速鏡像源,通過

vim /etc/docker/daemon.json設置如下內(nèi)容。

{"registry-mirrors":["http://hub-mirror.c.163.com"]}

docker安裝MySQL

1. 從docker鏡像庫中拉取一個MySQL的鏡像到服務器。

docker pull mysql:5.6

2. 然后輸入命令 docker images 就可以查看查看我們剛剛拉下來的mysql的鏡像。

3. 運行并啟動一個容器,通過以下命令。

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456abc --name mysql_1 mysql:5.6

參數(shù)說明:

-d 讓容器在后臺運行。

-p 添加主機到容器的端口映射。

3306:3306 把容器內(nèi)的3306端口映射到主機的3306端口,前面是主機的端口,后面是容器端口。

-e 設置環(huán)境變量,這里是設置mysql的root用戶的初始密碼,這個必須設置。

-MYSQL_ROOT_PASSWORD 設置訪問MySQL的密碼為123456abc。

–name 容器的名字,隨便取,但是必須唯一。

4. 接下來我們就可以通過命令docker ps -a 查看我們剛剛創(chuàng)建的容器。

這里我們可以看到我的容器狀態(tài)的Up狀態(tài),表示容器正在運行,并且把可以看到主機和容器的端口映射關系,如果容器啟動情況不正確,可以查看日志,通過以下命令命令。

docker logs -f -t --since="2018-09-20" --tail=10 mysql_1

接下來,如果我們想進入剛剛創(chuàng)建的容器中,輸入如下命令。

附加:進入容器

docker exec -ti mysql_1 /bin/bash1

參數(shù)說明 :

-t 在容器里生產(chǎn)一個偽終端。

-i 對容器內(nèi)的標準輸入 (STDIN) 進行交互。

容器中默認是沒有vim的,所以我們首先要安裝vim,需要注意的是安裝前記得先執(zhí)行apt update命令,不然安裝會出現(xiàn)問題。

進入到mysql容器后,我們通過創(chuàng)建一個遠程可以訪問的用戶,這樣我們就能從別的主機訪問到我們的數(shù)據(jù)庫了。

Docker安裝PHP-FPM

1. 拉取php-fpm的鏡像。

docker pull php:7.0-fpm

2. 再創(chuàng)建一個php-fpm容器,開啟端口為9000,同時與上面安裝的mysql進行連接,才能夠協(xié)同工作。

docker run -d -v /var/nginx/www/html:/usr/share/nginx/html -p 9000:9000 --link mysql_1:mysql --name abc_phpfpm php:7.0-fpm

參數(shù)說明:

-d 讓容器在后臺運行。

-p 添加主機到容器的端口映射。

-v 添加目錄映射,即主機上的。

/var/nginx/www/html和容器中/var/www/html目錄是同步的。

–name 容器的名字。

–link 與另外一個容器建立起聯(lián)系,這樣我們就可以在當前容器中去使用另一個容器里的服務。

備注:這里如果不指定–link參數(shù)其實也是可以得,因為容易本身也是有ip的且唯一,所以我們也可以直接利用ip去訪問容器。

安裝PDO擴展

#進入容器

docker exec -it phpfpm_1 /bin/bash

#安裝pdo

docker-php-ext-install pdo_mysql

#查看pdo是否安裝成功

php -m

安裝Redis擴展,依次執(zhí)行如下命令

#下載資源包

curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz

#解壓資源包

tar xfz /tmp/redis.tar.gzrm -r /tmp/redis.tar.gzmkdir -p /usr/src/php/extmv phpredis-3.1.3 /usr/src/php/ext/redis

#安裝擴展

docker-php-ext-install redis

docker安裝nginx

1. 首先,從倉庫里去拉取一個nginx鏡像。

docker pull nginx:1.10.3

2. 接下來運行nginx容器。

docker run -d -p 80:80 -p 443:443 -v /var/nginx/www/html:/usr/share/nginx/html --link phpfpm_1:phpfpm --name nginx_1 nginx:1.10.3

3. 配置nginx配置文件default.conf,在配置文件中增加以下行。

location ~ .+.php($|/) { set $script $uri; set $path_info ""; if ($uri ~ "^(.+.php)(/.+)") { set $script $1; set $path_info $2; } root /usr/share/nginx/html; fastcgi_pass phpfpm:9000; fastcgi_index index.php?IF_REWRITE=1; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $script; include fastcgi_params;}

最后,在/var/nginx/www/html目錄下面新建一個index.php文件看看能不能訪問呢?今天的內(nèi)容就給大家講解到這里,有什么問題的歡迎下方留言喲!

每天進步一點點,更多精彩內(nèi)容,歡迎關注公眾號“編程社”!!!

總結

以上是生活随笔為你收集整理的docker 添加端口映射_Docker快速搭建PHP开发环境详细教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。