由于當(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)行填寫。