下載docker
uname -r 查看內核版本
sudo yum update 更新yum包
sudo yum remove docker docker-common docker-selinux docker-engine 卸載舊版本(如果安裝過舊版本,否則忽略)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 安裝需要依賴yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 設定yum源
yum list docker-ce --showduplicates | sort -r 查看倉庫中所有的docker版本
sudo yum install docker-ce #下載指定版本的docker
sudo systemctl start docker 設定開機啟動
docker images 查看docker鏡像串列
docker安裝nginx
首先要創建需要的本地目錄檔案,方便后面做映射
cd /usr/local
mkdir nginx
cd nginx
mkdir conf conf.d logs
專案映射檔案 /usr/local/www 注意nginx和php容器里面的html都需要映射到這個目錄,否則配置nginx會出錯
docker search nginx 搜索nginx版本
docker pull nginx 默認拉去官方最新的nginx鏡像
docker run --name nginx -p 80:80 -d nginx 創建并允許nginx容器,系結映射埠
docker ps -a 查看docker運行容器
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf 將容器內的nginx組態檔復制到本地
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf.d 將容器內的nginx組態檔復制到本地
docker stop nginx 停止nginx容器
docker rm nginx 洗掉容器
docker run -p 80:80 --name nginx -v /usr/local/www:/usr/share/nginx/html -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/logs:/var/log/nginx -d nginx 創建nginx容器以及檔案映射
說明: -p 埠映射 --name 容器別名 -d 運行容器 -v 檔案映射
訪問127.0.0.1 出現nginx歡迎界面
docker安裝php
docker search php 搜索php官方鏡像
docker pull php:7.4-fpm 拉去對應版本的php鏡像
docker run -p 9000:9000 --name php74 -v /usr/local/www:/var/www/html -d php:7.4-fpm 創建php容器并允許
docker安裝mysql
docker search mysql 搜索mysql鏡像
docker pull mysql 拉取鏡像
docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql 創建容器
docker exec -it mysql /bin/bash 進入mysql容器
mysql -uroot -p 進入mysql
GRANT ALL ON *.* TO 'root'@'%'; 授權
flush privileges; 重繪權限
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 更新加密規則
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 更新root用戶密碼
flush privileges; 重繪權限
配置nginx決議php
server {
listen 80;
server_name 127.0.0.1;
#access_log /var/log/nginx/host.access.log main;
# nginx容器內對應的路徑
root /usr/share/nginx/html;
location / {
index index.html index.htm index.php;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# php容器里面對應的檔案
root /var/www/html/;
# 用來指定php-fpm監聽的地址
fastcgi_pass 127.0.0.1:9000;
# 設定訪問根目錄默認去找的檔案
fastcgi_index index.php;
# 設定訪問根目錄時默認尋找的檔案
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/296845.html
標籤:其他
