Docker的配置和部署,并搭建php和nginx环境

这篇具有很好参考价值的文章主要介绍了Docker的配置和部署,并搭建php和nginx环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一开始没有思路,直接用宝塔一键搭建的Docker

服务器环境:CentOS 7.6

说下体验:

通过安装进度还是有些报错出现的,但是一向“兼容不错的宝塔”还是对他抱有一线希望。

最后还是安装成功了。

docker nginx php,docker,linux,运维

 装好了,如何使用?

Docker 是基于命令行使用的,那现在通过一些实际问题去使用一些命令!

1.首先查看是否安装成功。通过查看版本好去验证吧!

docker version

 docker nginx php,docker,linux,运维

 运行成功,“宝塔”还是很厉害的。

2.1.Docker 下载 PHP镜像

本来想学习部署go环境的,但是为了避免程序出错,还是选择了熟悉的PHP。建议大家也选择自己熟悉环境,避免坑太多。

Docker是有云镜像的,可以这么理解,所有的环境都可以通过搜索关键词去安装。

docker search php 

接下里看到是“php” 相关的搜索结果

docker nginx php,docker,linux,运维

 结果只列出了相应软件,但是我们需要获得相应的版本号才能更好的去配置,比如:php5.3/php5.4/php5.5/php7.0

通过命令找比较麻烦,目前没有最好的方式,需要的话可以到Docker的官网去查询。

搜索地址:https://hub.docker.com/_/php/tags

当然国内无法访问,那么只有通过“搜索引擎”去了解相应版本号了

docker pull php:7.4-fpm

获取PHP镜像,后面的数字可以指定PHP的版本,目前安装的是PHP7.4

docker images

查看安装的镜像列表

docker images php

查看php的信息

docker nginx php,docker,linux,运维

在这里 IMAGE ID 是一个重要信息,通过前几位例如“38f2”来创建容器

2.3.创建容器,Docker 部署 PHP容器

现在我们需要创建PHP的容器,并且启动PHP。

docker run --name php-test -v /usr/local/nginx/html:/www -p 9000:9000 -d 38f2

命令解释

  • docker run : 是创建一个新容器并运行一个命令
  • --name : 给容器起一个名字,指的是 php-test
  • -p : 指定宿主机与容器内部端口的映射关系,-p [宿主机端口]:[容器内部端口],我设置的是 9000:9000,注意测试80端口是还容易冲突。
  • -d : 设置容器在在后台一直运行
  • 最后面的 PHP 是镜像名称,也可以是镜像ID,例如上面提到的 “38f2”

docker rm php-test

以上为删除容器,由于端口有冲突,需要删除从新创建。

docker nginx php,docker,linux,运维

 容器安装完毕

再次需要注意的是端口冲突和端口安全组规则,一般没问题,此处需要注意

3.1 nginx的配置,与PHP类似,不懂可反复查看PHP

docker search nginx

查看Nginx的镜像列表

docker pull nginx

获取Nginx 镜像

docker run --name nginx-test -p 8089:8089 -d nginx

启动容器,在宝塔面板“安全”内,做放行处理,否则会有端口冲突。

docker ps

查看正在运行的容器

docker ps -a

查看所有容器

docker stop 4a9015fc1b2a

停止容器,4a9015fc1b2a是CONTAINER ID,通过“docker ps”查看

docker start 6414e8b2ee30

运行容器,6414e8b2ee30是CONTAINER ID,通过“docker ps”查看

在此nginx安装上了,但是通过外网是无法访问的。

在此卡壳了,为了打开思路,下面继续了解下nginx配置相关的内容了,带着“端口”相关的疑惑继续配置吧!

修改nginx的配置文件

nginx是在docker中配置的,所有也是需要在docker中修改的。

docker exec -it 641 /bin/bash

进入nginx容器命令行

命令解释

  • docker exec : 在运行的容器中执行命令。
  • -it : -i和-t两个参数配合使用,开启一个交互模式的终端。
  • 641 : 名称为nginx-test容器ID。
  • /bin/bash : 指定了执行命令的shell。

exit

退出容器命令行

docker cp 6414:/etc/nginx/nginx.conf /usr/docker/nginx

docker cp 6414:/etc/nginx/conf.d/default.conf /usr/docker/nginx/conf/

6414 为容器ID,复制容器内的文件到外部。

docker run --name nginx-config -p 8089:8089 \
-v /usr/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/docker/nginx/logs:/var/log/nginx \
-v /usr/docker/nginx/html:/usr/share/nginx/html \
-v /usr/docker/nginx/conf:/etc/nginx/conf.d \
--privileged=true -d nginx

从新配置一个容器,并将它的一些文件镜像主机,方便编辑

一些小插曲

就目前为止,容器的部署,启动,关闭,卸载,进程查看都没问题了,但是最后Nginx 始终不能正常访问,在此抛下疑问寻找突破点。

1.docker下的进程能否在shell下查看

2.nginx 删除 配置文件是否会报错,(算是互动了解了,因为就目前为止只知道安装了,但是没看到任何有迹可循的思路,哪怕是报错都没有。)

3.翻阅现有站点对nginx 配置文件做对比。(这个思路还是不错的,好歹有个参考点)

通过常规方式新建了一个站点,确保了一个端口是开放的,这下可以排除端口限制的问题了。

从新配置一个容器

docker run --name nginx-test-two -p 8090:8090 -d nginx

还是不行

下面nginx配置文件做对比,还是要先了解nginx的配置文件。

最后找到原因,nginx默认生成的配置文件“default.conf”端口不对,为啥是80呢(坑)

修改为8089后可以正常访问了。

通过nginx访问php

通过走上面的弯路还有一些坑,我想下面应该会顺利些了。

首先删除销毁之前配置的容器,这些请看上边的,停止--》删除容器

docker nginx php,docker,linux,运维

PHP配置

docker run --name php-test -v /usr/local/nginx/html:/www -p 8089:8089 -d 38f

新建php模块,注意 -d 是镜像ID,通过 docker images 查看

  • -v:  挂载目录, 此处 /usr/local/nginx/html目录为宿主机存放文件目录,/www为PHP容器内存放文件目录。

Nginx配置

在此卡壳,配置完成 提示成功还是无法访问PHP文件,静态文件可以访问。文章来源地址https://www.toymoban.com/news/detail-697566.html

到了这里,关于Docker的配置和部署,并搭建php和nginx环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker 部署 nginx+php+mysql 环境

    记录一下docker部署web服务器流程。nginx,mysql,php不同的版本配置内容可能会不同。 docker常用命令 目录结构 创建目录 运行PHP容器 php容器内容目录结构如下: PHP5.4升级后,php.ini-dist不见了,出现了php.ini-developmen和php.ini-production。 php.ini-development 对应于 php.ini-dist,适合开发测

    2024年04月24日
    浏览(25)
  • Docker部署php运行环境(php-fpm+nginx)

    前言 如果使用docker去部署一套php的运行环境,我们需要构建出nginx、php-fpm两个容器,nginx通过fast_cgi协议去转发php-fpm中的端口,从而实现web server的搭建,接下来以php的laravel框架为演示例子。 部署php-fpm 第一步 编写php-fpm镜像的Dockerfile: ./Dockerfile 第二步 配置Crontab定时任务:

    2024年02月06日
    浏览(33)
  • Nginx环境搭建以及Docker环境部署

    目录 Nginx环境搭建 1.首先创建Nginx的目录并进入 2.下载Nginx的安装包         可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包         没有wget命令的可通过yum命令安装  3.解压Nginx的压缩包 4.下载并安装Nginx所需的依赖库和包         安装方式一    

    2024年02月13日
    浏览(19)
  • Docker Ubuntu php nginx mysql redis 开发环境部署教程

    点击: ubuntu 22.04 配置多版本 php nginx mysql redis 超简单教程

    2024年02月08日
    浏览(28)
  • 使用docker-compose.yml快速搭建开发、部署环境(nginx、tomcat、mysql、jar包、各种程序)以及多容器通信和统一配置

    image 镜像名称,可去镜像市场查找自己需要的 hostname 容器内服务名 container_name 容器名 volumes 可以把自己电脑的路径映射到容器中的文件夹中 networks 写同一个网络可以让容器之间进行通信 启动 在项目根目录的命令行中输入 docker-compose up 停止 在项目根目录的命令行中输入 d

    2024年02月12日
    浏览(23)
  • Unbutu系统-Docker安装、JDK环境配置,Docker常用指令、Docker安装MySQL、Redis、Tomcat、Nginx,前端后分离项目部署

    目录 1、防火墙 1.1、查看防火墙状态 1.2、开启防火墙 1.3、关闭防火墙 1.4、重启防火墙 1.5、查看防火墙版本 2、安装JDK 2.1、官网下载tar包 2.3、解压tar.gz文件 2.4、配置环境变量 2.4.1、查看安装路径 2.4.2、设置环境变量 2.4.3、执行该让环境变量生效 2.4.4、查看JDK版本 3、Docker

    2024年02月04日
    浏览(30)
  • linux环境下docker中搭建 jenkins 及自定义访问路径,利用nginx反向代理

    前两天发布了完整的 linux服务器上Docker中安装jenkins 在实际的开发中,可能我们并不能直接开放8081或者8080端口给jenkins使用,常常是通过nginx方向代理来实现的,这里我们来配置一下。 如果你还没有安装 可以参考我这篇文章 linux服务器上Docker中安装jenkins 看到目录: 创建一个

    2024年02月16日
    浏览(23)
  • windows 搭建docker 以及部署前后端项目及程序,对所需目录挂载nginx进行配置显示

    1.我们在电脑上进行搜索 ,启用或者关闭windows功能 2. 如果没有 Hype-V的话,具体添加步骤如下: 在本地创建一个.bat文件,内容为:  保存为.bat文件,然后右键,以管理员身份运行。 等待安装好之后,最后一步点击Y。完成安装。 然后以管理员身份运行powershell.这个其实就是

    2024年02月08日
    浏览(13)
  • Linux环境下,通过Docker搭建及配置RabbitMQ

    😊 @ 作者: 一恍过去 💖 @ 主页: https://blog.csdn.net/zhuocailing3390 🎊 @ 社区: Java技术栈交流 🎉 @ 主题: Linux环境下,通过Docker搭建及配置RabbitMQ ⏱️ @ 创作时间: 2022年07月17日 RabbitMQ是一个开源的消息队列中间件,用于在应用程序之间进行可靠的消息传递。它实现了高级消

    2024年02月15日
    浏览(17)
  • (一)丶RabbitMQ搭建及配置在Linux+Docker环境下

    RabbitMQ依赖的是Erlang语言,所以要先安装Erlang的环境。Erlang在1991年由爱立信公司向用户推出了第一个版本,经过不断的改进完善和发展,在1996年爱立信又为所有的Erlang用户提供了一个非常实用且稳定的OTP软件库并在1998年发布了第一个开源版本。Erlang同时支持的操作系统有l

    2024年04月09日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包