下載 ubuntu 鏡像
這裏使用Docker的 ubuntu 鏡像來運行容器。
docker pull ubuntu
啓動 ubuntu 容器
docker run -itd --name nginx_php_mysql -p80:80 -p3306:3306 ubuntu
- --name 設置一個容器的名稱
- -itd 是-i -t -d 三個參數的合寫
- -p 暴露給主機的ip,如 80:80,第一個80是主機的端口,第二個80是容器暴露的端口
進入容器
docker exec -it ubuntu bash
更新apt-get
apt-get update
安裝php相關
apt-get install php php-fpm php-mysql -y
- php php安裝
- php-fpm 用於替換 PHP FastCGI 的大部分附加功能,對於高負載網站是非常有用的。
- php-mysql php連接mysql數據庫模塊
安裝mysql
安裝mysql數據庫
apt-get install mysql-server
修改數據庫配置,將 bind-address= 127.0.0.1,綁定地址的一段代碼註釋掉
vi /etc/mysql/mysql.conf.d/mysqld.cnf
並重啓數據庫
service mysql restart
進入mysql數據庫,修改授權方式,可以遠程連接數據庫。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
mysql> flush privileges;
因爲我們已經把3306暴露給了主機,這個時候主機已經可以使用mysql客戶端連接容器的數據庫了
我們也可以在其他容器中測試連接,可以直接使用數據庫容器的ip進行連接:
mysql -h 172.17.0.9 -P 3306 -u root -p123456
172.17.0.9是mysql所在的容器的ip地址,如果你還不清楚容器的ip地址是多少,可以在主機中使用 docker inspect 來查看。
安裝nginx
使用apt-get來安裝nginx。
apt-get install nginx -y
配置nginx
使用 docker cp 可以將wordpress安裝包拷貝到容器內,並解壓
docker cp 主機路徑/wordpress.zip 容器名稱:/data/www
server {
listen 80 default_server;
server_name 127.0.0.1;
root /data/www/wordpress/;
location /{
index index.php index.html index.htm;
try_files $uri $uri/ /index.php index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重啓一下nginx,或者使用nginx -s reload 重新加載配置
service nginx restart
運行
這個時候我們在主機用瀏覽器直接訪問 http://localhost