docker官网自行下载即可,windows无所谓,Mac注意下载对应芯片版本即可: docker官网:https://www.docker.com/
➜ ~ docker network create mynet
32c681d46c036dd9450e45f8930d7520f47f9fbb2df83c6348752d56683bcee5
➜ ~ docker network ls
NETWORK ID NAME DRIVER SCOPE
4a45750545f0 bridge bridge local
31d09483ca15 host host local
32c681d46c03 mynet bridge local
bacb36f06567 none null local
docker pull nginx:latest
docker pull php:7.4-fpm
docker pull mysql:8.0
docker pull redis:5.0.4
docker images
主要用来解决docker的本地配置文件映射要用到
docker run --name nginx -p 80:80 -d -v /docker/nginx/conf:/etc/nginx/conf.d -v /docker/nginx/www:/usr/share/nginx/html -v /docker/nginx/log:/var/log/nginx --net mynet nginx
-p 主机和容器端口互联,主机8088:80
-v 目录挂载
-d 后台运行
--net mynet 桥接网络
安装完之后 打开浏览器 http://localhost:端口号 测试效果
进入容器
docker exec -it mynginx /bin/bash
编辑配置文件
vim /etc/nginx/nginx.conf
如果没有vim,通过下面的命令进行安装vim
apt-get update #更新包管理
apt-get install vim -y #安装vim
1)创建一个临时的php-fpm容器,生成配置文件
docker run --name php-fpm -v /devlops/php:/www/myphp -d 38f2b691dcb8
2)把php-fpm中的配置文件复制到本地目录,包含php.ini 和www.conf www.conf
docker cp php-fpm:/usr/local/etc/php-fpm.d/www.conf /docker/php/conf/www.conf
php.ini
docker cp php-fpm:/usr/local/etc/php/php.ini-production /docker/php/conf/php.ini
3)删除临时的php-fpm容器,重新生成一个php74的容器,并挂载已经复制出来的php配置文件
docker run --name php74 -p 9000:9000 -d -v d:/docker/php/www:/var/www/html -v d:/docker/php/conf/www.conf:/usr/local/etc/php-fpm.d/www.conf -v d:/docker/php/conf/php.ini:/usr/local/etc/php/php.ini --net mynet php:7.4-fpm
d:/docker/nginx/conf/default.conf 创建default.conf文件
文件内容:
server {
listen 80;
server_name localhost;
root /var/www/html;
charset utf-8;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
#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 html;
}
location ~ \.php$ {
fastcgi_index index.php;
#php-fpm容器名:端口号
fastcgi_pass php74:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
在我们之前创建的/docker/nginx/www/myphp文件夹中创建一个index.php
<?php
echo phpinfo();
?>
安装MYSQL容器命令:
docker run --name mysql --restart=always --privileged=true -p 3306:3306 -v d:/devops/mysql/conf:/etc/mysql/conf.d -v d:/devops/mysql/data:/var/lib/mysql -v d:/devops/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root --net mynet -d mysql
命令相关说明:
docker run --name mysql
--restart=always ( Docker 重启时容器也跟随启动)
--privileged=true (Docker 为容易内的 root 用户赋予真正的 root 权限,不然会提示 log 目录权限不足)
-p 3306:3306
-v /docker/mysql/conf:/etc/mysql/conf.d (将配置目录挂载到容器内的配置目录)
-v /docker/mysql/data:/var/lib/mysql (将数据存储目录挂载到容器内的出局存储目录)
-v /docker/mysql/log:/var/log/mysql (将日志目录挂载到容器内的日志目录)
-e MYSQL_ROOT_PASSWORD=root
--net mynet (自己创建的docker网络)
-d mysql
安装redis容器命令:
docker run --name redis -d -p 6379:6379 redis
还没有人发表评论