Docker搭建lnmp环境

16 篇文章 0 订阅
3 篇文章 0 订阅

安装

  1. 卸载旧的版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 需要的安装包 yum install -y yum-utils
  2. 切换国内阿里云镜像
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装 Docker Engine-Community
yum install docker-ce docker-ce-cli containerd.io
  1. 启动docker systemctl start docker
  2. 配置docker镜像加速器
    在这里插入图片描述
    在这里插入图片描述

常用命令

  1. docker version #显示docker的版本信息
  2. docker info # 显示docker的系统信息,包括镜像和容器数量
  3. docker list --help # 万能命令
  4. docker images #查看所有本地主机上的镜像
  5. docker search --name #搜索镜像
    在这里插入图片描述
    在这里插入图片描述
  6. docker pull 镜像名[:版本] #下载镜像 默认是最新版
    在这里插入图片描述
  7. docker rmi -f 镜像id #删除镜像
  8. docker ps # 查看运行的容器
  9. docker exec -it 容器id /bin/bash # 进入容器
    10.exit # 退出容器

部署LNMP

下载所需要的镜像(nginx1.2 mysql 8 php7.4 )版本自选

获取mysql镜像

docker pull mysql:8
在这里插入图片描述

启动mysql容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=guoguo --name mysql mysql:8

参数说明

-d 让容器在后台运行
-p 添加主机到容器的端口映射
-e 设置环境变量,这里设置mysql的root用户的初始密码
-name 容器的名称、只要求唯一性

获取php 7.4镜像

docker pull php:7.4-fpm
在这里插入图片描述

启动php 容器

docker run -d -v /www/html:/var/www/html -p 9000:9000 --link mysql:mysql --name php-fpm php:7.4-fpm

参数说明

-d 让容器在后台运行
-p 添加主机到容器的端口映射
-v 添加目录映射,主机上的/www/html映射到容器里面 的/var/www/html,如果主机没有这个目录就创建这个目录,或者映射别的目录,但是后面路径要统一
-name 容器的名字
-link 容器与另外一个容器建立联系,这样就可以在当前的容器去使用另一个容器里的服务

测试目录映射

在主机/www/html 目录下创建php测试页面,会直接映射到容器里面
在这里插入图片描述
进入容器内部查看是否映射成功
docker ps 查看php容器id
dicker exec -it 容器id /bin/bash 进入容器
在这里插入图片描述

获取Nginx 1.21镜像

docker pull nginx:1.21
在这里插入图片描述

启动Nginx容器

docker run -d -p 80:80 --name cs_nginx -v /www/html:/var/www/html --link php-fpm:php-fpm --name nginx nginx:1.21

参数说明

-d 让容器运行在后台
-p 添加主机到容器的端口映射
-v 添加目录映射,这里最好nginx容器的根目录最好写成和php容器中根目录一样。但是不一定非要一样,如果不一样在配置nginx的时候需要注意
-name 容器的名称
-link 容器之间建立起来联系

修改Nginx 的配置文件,使他支持php ,方式有多种,这里我直接拷贝出配置文件修改在导进去即可

docker cp default.conf  容器id:/etc/nginx/conf.d/default.conf

修改文件

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /var/www/html;  # 是容器中的路径  非宿主机路径
        index  index.html index.htm index.php;#这里加入添加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$ {
        root           html;
        fastcgi_pass   1409927b52d9:9000;#这里可以用容器ID,也可以用容器IP,都具备唯一性 docker-compose构建的话用服务名称
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html/$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;
    #}
}

修改完毕导入配置文件到Nginx 容器里面
docker cp default.conf 0383920e622b:/etc/nginx/conf.d/default.conf

进入到容器里面重新加载配置文件

在这里插入图片描述

参数说明

-t 在容器里面生产一个伪终端
-i 对容器内的标准输入(STDIN)进行交互

查看所有容器映射的端口

在这里插入图片描述

访问浏览器测试

接着打开浏览器,在地址栏输入 ip/index.php
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值