本文介绍: 服务器环境:CentOS 7.6说下体验通过安装进度还是有些报错出现的,但是一向“兼容不错的宝塔还是对他抱有一线希望。最后还是安装成功了。

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

服务器环境:CentOS 7.6

说下体验

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

最后还是安装成功了。

 装好了,如何使用

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

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

docker version

 

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

2.1.Docker 下载 PHP镜像

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

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

docker search php 

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

 结果只列出了相应软件,但是我们需要获得相应的版本号才能更好的去配置比如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信息

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

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

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

docker runname phptestv /usr/local/nginx/html:/wwwp 9000:9000 –d 38f2

命令解释

docker rm phptest

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

 容器安装完毕

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

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

docker search nginx

查看Nginx的镜像列表

docker pull nginx

获取Nginx 镜像

docker run –name nginxtestp 8089:8089 –d nginx

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

docker ps

查看正在运行的容器

docker psa

查看所有容器

docker stop 4a9015fc1b2a

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

docker start 6414e8b2ee30

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

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

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

修改nginx配置文件

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

docker execit 641 /bin/bash

进入nginx容器命令行

命令解释

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-configp 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

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

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

PHP配置

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

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

Nginx配置

在此卡壳,配置完成 提示成功还是无法访问PHP文件静态文件可以访问。

原文地址:https://blog.csdn.net/weixin_39434806/article/details/131079404

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_31192.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注