Linux服务器之二 : Docker使用lnmp镜像创建容器

1.获取镜像
安装docker之后 , 使用命令获取指定镜像, 这里使用的是duckll/lnmp
更多docker镜像:https://hub.docker.com/search/?q=image&type=image

docker pull duckll/lnmp

下载完成后可查看镜像列表
在这里插入图片描述
2.使用镜像创建docker容器

docker run -d -ti --name phpthinkcmf2 -p 30002:80 -v /mnt/project/phpWorkspace:/workspace duckll/lnmp

其中 -d 表示后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“nginx-lb”: 为容器指定一个名称;
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
–volume , -v: 绑定一个卷, 即将本地目录映射到docker内部目录
duckll/lnmp 是镜像的名字

查看更多:https://www.runoob.com/docker/docker-run-command.html

3.lnmp安装成功
此时访问该服务器并加上docker的端口就可以访问到nginx了
在这里插入图片描述
4.修改nginx配置文件
该步骤为部署项目做准备, 本次安装后的nginx的目录为 /usr/local/nginx , 配置文件目录位于 /usr/local/nginx/conf/nginx.conf,注意这里是docker内部的nginx
打开之后可以看到初始配置如下,这里默认了php的运行目录,根据上面创建docker的步骤,我把项目放在了workspace下面,所以这里需要修改配置。
在这里插入图片描述
修改后的配置如下,注意,下面几行代码,若不添加,可能会出现只有首页面根目录可以访问,其他页面地址都是404 not found。

    try_files $uri $uri/ /index.php?$query_string;  //这一行网上查的需要加上,但是我没有加也没问题
	if (!-e $request_filename){ 
        rewrite ^/(.*) /index.php last; 
    }

在这里插入图片描述
修改完成后, 切换至/usr/local/nginx/sbin/ 目录 , nginx启动文件位于该目录下, 使用 ./nginx -t 检查配置文件语法 , 成功后重启nginx , 另外 , nginx启动的命令为 ./nginx
在这里插入图片描述
5.这样就访问服务器+端口 就可以访问到docker中/workspace/thinkcmf5/public下的项目了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值