docker 安装:
1,一键安装
curl -fsSL https://get.docker.com/ | sh
2,yum 国外源
wget https://download.docker.com/linux/centos/dockerce.repo
mv docker-ce.repo /etc/yum.repos.d
yum install -y docker-ce
3,rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/dockerce-17.09.0.ce-1.el7.centos.x86_64.rpm
yum localinstall docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
4,docker加速器
yum install -y yum-utils device-mapper-persistentdata lvm2 git
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
如果需要指定安装则需要指定完整的rpm包的包名,并且加上--setopt=obsoletes=0
参数:yum install -y --setopt=obsoletes=0 \
docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
基本操作:
运行
systemctl start docker
查看docker版本
yum list docker-ce --showduplicates
查看镜像
docker images
查看容器
docker ps
查看docker运行状态
docker info
下载镜像:
docker pull mysql:5.7
docker pull php:7.4-fpm
docker pull nginx:1.17.8
docker pull redis:5.0.2
安装顺序:
1. 安装顺序: mysql-redis-php-nginx 。
2. 容器关联: php关联mysql; nginx关联php , 被关联的容器先安装 。 mysql-redis-php-nginx 。
mkdir -p /data/docker/nginx/www/html
mkdir -p /data/docker/redis/conf
mkdir -p /data/docker/redis/data
touch /data/docker/redis/conf/redis.conf
docker run -d -p 3306:3306 -v /data/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yang123.aa --name mysql5.7 mysql:5.7
docker run --restart=always -d --privileged=true -p 6379:6379 -v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/docker/redis/data:/data:rw --name redis5.0.2 redis:5.0.2 redis-server /etc/redis/redis.conf --appendonly yes
--restart=always -> 开机启动容器,容器异常自动重启
-d -> 以守护进程的方式启动容器
--privileged=true -> 提升容器内权限
-p 6379:6379 -> 绑定宿主机端口
-v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf -> 映射配置文件
-v /data/docker/redis/data:/data -> 映射数据目录
--name redis -> 指定容器名称
--appendonly yes -> 开启数据持久化
3、进去redis容器
docker exec -it redis bash
4、查看redis版本
redis-server -v
docker run -d -v /data/docker/nginx/www/html:/var/www/html -p 9000:9000 --link mysql5.7 --link redis5.0.2 --privileged --name php7.4 php:7.4-fpm
docker run -d -p 80:80 -v /data/docker/nginx/www/html:/var/www/html --link php7.4 --privileged --name nginx1.17.8 nginx:1.17.8
扩展模块配置
生成php扩展文件目录/usr/src/php/ext
docker-php-source extract
安装redis扩展
curl -L -o /tmp/reids.tar.gz https://codeload.github.com/phpredis/phpredis/tar.gz/5.0.2
cd /tmp
tar -zxvf reids.tar.gz
mv phpredis-5.0.2/ phpredis
cp -r phpredis/ /usr/src/php/ext/
docker-php-ext-install phpredis
安装pdo_mysql扩展
docker-php-ext-install pdo_mysql
php -m 查看
NGINX配置
apt-get update
apt-get install vim
vim /etc/nginx/conf.d/default.conf
server {
location / {
root /var/www/html
index index.php;
}
location ~ \.php$ {
root /var/www/html; (使用$document_root这个地方别忘了改,要么$document_root就改成绝对路径)
fastcgi_pass php7.4:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
($document_root有个bug,如果你nginx版本过高会导致识别不到。要设置为你存放文件的路径,我的这个路径是/var/www/html,直接把$document_root换成/var/www/html就可以了。
还有一种解决方式是修改$document_root变量 可以在/etc/nginx/fastcgi_params里找到)
exit
重启
docker restart php7.4
docker restart nginx1.17.8
登陆网页