docker 部署 nginx+php+mysql

來源:互聯網
上載者:User

標籤:sys   查看   split   sam   exe   print   dmi   class   ima   

系統:centos7

使用root賬戶

開放80連接埠

firewall-cmd --zone=public --add-port=80/tcp --permanent

安裝docker

yum install docker -y

安裝docker-compose

yum install epel-release -y

yum install -y python-pip

pip install -U docker-compose

部署nginx+php+mysql

開啟docker


systemctl start docker

cd /home

mkdir www //網站目錄

mkdir conf //設定檔

mkdir app //下載的應用

 

//拉取官方鏡像

docker pull nginx:1.12.0 

docker pull php:5.4-fpm

docker pull mysql:5.6

 

 

//下載到/home/app

去php官網下載php5.4.45

nginx官網下載nginx1.12.0

phpmyadmin官網下載phpmyadmin找php對應版本

都下載完並解壓完成後,進入php檔案

cp php.ini-development /home/conf/php.ini

進入nginx檔案

cp conf/nginx.conf /home/conf/nginx.conf

cd /home/conf

vi nginx.conf

 

location / {
root /usr/share/nginx/html;
index index.html index.php index.htm;
}

 

 

 

location ~ \.php {//去除$
root /var/www/html;
fastcgi_pass fpm:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;  //nginx添加path_info支援
fastcgi_param PATH_INFO $fastcgi_path_info;//nginx添加path_info支援
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

 

 

 

cd /home/app

複製phpmyadmin解壓出來的檔案到/home/www並改名為phpmyadmin  

 

//編寫docker-compose

cd /home

docker images //查看鏡像id

vi docker-compose.yml 

php:

   image: php鏡像id

   ports:

       - 9000:9000

   volumes:

       - /home/www:/var/www/html

       - /home/conf/php.ini:/usr/local/etc/php/php.ini

   links:
       - mysql
   privileged: true

 

nginx:
   image: nginx鏡像id
   ports:
       - 80:80
   volumes:
       - /home/www:/usr/share/nginx/html
       - /home/conf/nginx.conf:/etc/nginx/nginx.conf
   links:
       - php:fpm
   privileged: true

 

 

mysql:
   image: mysql鏡像id
   ports:
      - 3306:3306
   volumes:
      - /home/data:/var/lib/mysql
   environment:
      - MYSQL_ROOT_PASSWORD=123
   privileged: true

 

docker-compose編寫完成後

執行

docker-compose up -d  //使容器後台運行

docker exec -it home_mysql_1 bash  //進入mysql容器

mysql -u -root -p

密碼:123

執行 status

查看 UNIX socket地址並複製

執行use mysql

update user set Host = ‘%‘ where User = ‘root‘;

flush privileges;

完成後兩次ctrl+d

退出容器

 

cd /home/conf

vi php.ini

 

搜尋

mysql.default

mysqli.default

pdo_mysql.default

等號後加上複製出來的UNIX socket地址

 

 

cd /home

docker-compose restart

 

cd www

vi index.php

<?php

  phpinfo();

?>

查看php資訊

 

cd phpmyadmin

vi config.sample.inc.php

$cfg[‘Servers‘][$i][‘host‘] = ‘mysql‘;

退出後config.sample.inc.php改名為config.inc.php

從外部存取 http://ip地址/phpmyadmin/index.php
登入mysql成功後即可完成


docker 部署 nginx+php+mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.