您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Docker應(yīng)用實(shí)例分析”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
運(yùn)行一個Alpine的容器,選擇Alpine作為系統(tǒng)基礎(chǔ)鏡像是因?yàn)锳lpine輕巧的體積,基礎(chǔ)鏡像只有5.53MB,相比ubuntu鏡像的88.9MB要小十幾倍。
root@ubuntu:~# docker run -it -p 8080:80 alpine sh
安裝nginx
apk add nginx
修改nginx配置
vi /etc/nginx/conf.d/default.conf
default.conf內(nèi)容如下:
server { listen 80 default_server; root /home/www; index index.php index.html; }
創(chuàng)建Hello World
mkdir /home/www && echo "Hello World" > /home/www/index.html
創(chuàng)建/run/nginx目錄
mkdir /run/nginx
啟動nginx
nginx
在瀏覽器中訪問 http://192.168.43.122:8080
nginx安裝成功,WEB服務(wù)訪問正常!
現(xiàn)在我們來安裝PHP,方法還是一樣,使用 apk add
命令來安裝php7,php-fpm以及相關(guān)擴(kuò)展。
apk add --no-cache php7 php7-fpm php7-ftp php7-pdo php7-mysqli php7-simplexml php7-xmlwriter php7-zlib php7-imagick php7-memcached php7-sockets php7-mcrypt php7-zip php7-pgsql php7-pdo_odbc php7-odbc php7-curl php7-iconv php7-xml php7-json php7-gd php7-session php7-opcache php7-pdo_sqlite php7-mbstring php7-common php7-pdo_mysql
以上順帶安裝了很多php擴(kuò)展,可根據(jù)實(shí)際需求增減。
現(xiàn)在啟動php-fpm7
php-fpm7
修改nginx配置,添加php支持
vi /etc/nginx/conf.d/default.conf
內(nèi)容如下
server { listen 80 default_server; root /home/www; index index.php index.html; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/www$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
在網(wǎng)站目錄中創(chuàng)建phpinfo.php
echo "<?php phpinfo(); ?>" > /home/www/phpinfo.php
重啟nginx
nginx -s reload
在瀏覽器中訪問 http://192.168.43.122:8080/phpinfo.php
PHP安裝成功,WEB服務(wù)訪問正常!
我們不在Alpine里面安裝MySQL,為了使用效率,這里我們直接使用官方鏡像即可,新開一個ssh終端連接宿主機(jī),在home目錄下新建database目錄
mkdir /home/database
使用官方mysql5.7鏡像運(yùn)行一個容器,root密碼設(shè)置為123456,映射3306端口,并將宿主機(jī)/home/database目錄掛載到容器/var/lib/mysql目錄
docker run -dit -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v /home/database:/var/lib/mysql mysql:5.7
docker ps
查看容器
我們現(xiàn)在運(yùn)行了2個容器,1個是安裝了nginx和php的Alpine容器,1個是mysql5.7的容器
進(jìn)入mysql容器
docker exec -it c8c85af64822 sh
登錄并創(chuàng)建wordpress數(shù)據(jù)庫
#用root用戶登錄 mysql -u root -p #創(chuàng)建wordpress數(shù)據(jù)庫 mysql> CREATE DATABASE wordpress;
php網(wǎng)站環(huán)境和mysql數(shù)據(jù)庫都準(zhǔn)備好了,現(xiàn)在我們回到Alpine的ssh終端上,在容器內(nèi)下載一個wordpress網(wǎng)站程序。
#進(jìn)入網(wǎng)站目錄 cd /home/www/ #下載wordpress wget https://wordpress.org/latest.tar.gz #解壓 tar zxvf latest.tar.gz #將wordpress目錄下的文件復(fù)制到www目錄下 cp -ri /home/www/wordpress/* /home/www/ #設(shè)置777權(quán)限 chmod -R 777 /home/www/
在瀏覽器中訪問 http://192.168.43.122:8080,可以看到wordpres頁面
填寫數(shù)據(jù)庫信息
安裝完成,wordpress正常使用!
“Docker應(yīng)用實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。