docker 安裝lnmp環(huán)境

由于當(dāng)前多數(shù)服務(wù)器都是Linux的原因,本文只講ubuntu下的安裝!

第一步:安裝docker

安裝教程:http://www.runoob.com/docker/ubuntu-docker-install.html

第二步:拉取ubuntu:16.04鏡像

docker pull ubuntu:16.04

拉取成功后,查看所有鏡像

docker images

第三步:將該鏡像在一個(gè)容器中運(yùn)行,并進(jìn)入容器

docker run -dit --name my-lnmp ubuntu:16.04

docker exec -it my-lnmp /bin/bash

第四步:更新容器 apt 源,安裝curl,vim

apt-get update

apt-get install curl

apt-get install vim

第五步:安裝nginx

apt-get install nginx

# 配置文件位置#>

?/etc/nginx/nginx.conf

?/etc/nginx/conf.d/*.conf

# 默認(rèn)主目錄#>?

/usr/share/nginx/html/

# 管理nginx服務(wù)

service nginx start ? ? ? // 啟動(dòng)

service nginxstop ? ? ? ?// 停止

service nginx restart ? // 重啟

測(cè)試 curl localhost

第六步:安裝php7?

apt-get install php

apt-get install-y php7.0-mysql php7.0-curl php7.0-xml php7.0-mcrypt php7.0-json?

php7.0-gd php7.0-mbstring php-mongodb php-memcached php-redis

# 測(cè)試 (如果有結(jié)果,則表示安裝成功)

php-v

配置php.ini

vim /etc/php/7.0/fpm/php.ini

# 將cgi.fix_pathinfo=1這一行去掉注釋,將1改為0

#>? / 是vi查找的命令

配置php-fpm

vim /etc/php/7.0/fpm/pool.d/www.conf

# 修改 listen = /var/run/php/php7.0-fpm.sock

配置nginx

vim /etc/nginx/sites-enabled/default

將index index.html index.htm;改成index index.php index.html index.htm;

在service里面,location /{}下面增加以下配置

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

# With php5-cgi alone:

# fastcgi_pass 127.0.0.1:9000;

# With php5-fpm:

fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

運(yùn)行

# 啟動(dòng) ?php-fpm?

service php7.0-fpm start

# 重啟 Nginx ,檢測(cè)配置是否成功

service nginx restart

# 新建 index.php 測(cè)試文件

<?php

echo "Hello World";

# 執(zhí)行

curl localhost

如果看到`hello world!`表示運(yùn)行成功

第七步:安裝mysql

apt-get install mysql-server

#測(cè)試

service mysql start

mysql -uroot -p

第八步:設(shè)置容器開機(jī)啟動(dòng)項(xiàng)

# 在.bashrc寫入開機(jī)啟動(dòng)項(xiàng)

vim~/.bashrc

寫入以下內(nèi)容,保存

# 開機(jī)啟動(dòng)項(xiàng)

service php7.0-fpm start

service mysql start

service nginx start

# tail -f /var/log/nginx/error.log

將配置好的Docker容器,打包上傳阿里云

退出 docker

exit

查看容器對(duì)應(yīng)的 CONTAINER ID

docker ps -as

將容器打包成新鏡像

docker commit ?[CONTAINER ID] ?new-lnmp

停止正在運(yùn)行的容器

docker stop my-lnmp

# 使用剛打包的鏡像,創(chuàng)建容器,-p 端口映射# -v 本地目錄映射到容器內(nèi)

docker run -dit -p 80:80 -p 3306:3306 -v /var/www/:/var/www/? --name nginx-mysql-php7?

new-lnmp /bin/bash

在瀏覽器通過訪問localhost響應(yīng)成功,則大功告成


下面的是打包和拉取容器到阿里云的方法:

登錄阿里云docker registry:

$ sudo docker login --username=laopo890220 registry.cn-hangzhou.aliyuncs.com

登錄registry的用戶名是您的阿里云賬號(hào)全名,密碼是您開通namespace時(shí)設(shè)置的密碼。

你可以在鏡像管理首頁點(diǎn)擊右上角按鈕修改docker login密碼。

從registry中拉取鏡像:

$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/gaven/nginx-mysql-php7:[鏡像版本號(hào)]

將鏡像推送到registry:

$ sudo docker login --username=laopo890220 registry.cn-hangzhou.aliyuncs.com

$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/gaven/nginx-mysql-php7:[鏡像版本號(hào)]

$ sudo docker push registry.cn-hangzhou.aliyuncs.com/gaven/nginx-mysql-php7:[鏡像版本號(hào)]

其中[ImageId],[鏡像版本號(hào)]請(qǐng)你根據(jù)自己的鏡像信息進(jìn)行填寫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,591評(píng)論 15 147
  • docker提供了在服務(wù)端分布式的部署應(yīng)用,這樣的好處是方便維護(hù)和升級(jí)。 接下來我來介紹一些我在自己的服務(wù)器是如何...
    TonnyAlmend閱讀 7,508評(píng)論 5 14
  • 我像是在為自己原地畫了一個(gè)牢,我怕自己適應(yīng)了這樣的安逸就不想逃出這個(gè)籠子。
    懶散小姐閱讀 219評(píng)論 0 1
  • 夏日炎炎,荷花靜靜開放依是美麗,可是這同時(shí)也是畢業(yè)的我們,讀書的時(shí)候厭煩上學(xué),可當(dāng)畢業(yè)的時(shí)候我們又依依不...
    迷小鹿閱讀 225評(píng)論 0 0
  • 我想我已慢慢喜歡你 / 因?yàn)槲覔碛袗矍榈挠職?/ 我任性投入你給的惡作劇 /你給的惡作劇 當(dāng)旋律再次響起的時(shí)候,袁...
    卮凪閱讀 880評(píng)論 9 12