利用docker搭建ubuntu+nginx+PHP容器
2023-09-11 14:16:39 时间
环境:操作系统(Ubuntu 16.04 64位); php7.1; nginx/1.14.0
基础环境准备:
整体思路:docker pull一个ubuntu镜像,然后在容器中安装nginx,PHP,启动时将宿主机中的数据目录,配置文件映射到容器中,映射宿主机端口到容器中端口。
#拉取ubuntu镜像
Docker pull ubuntu
#启动ubuntu容器
docker run -it —name myserver ubuntu /bin/bash
#进入容器中,退出可以使用exit,容器仍然运行
Docker exec -it myserver /bin/bash
容器中安装nginx:
#安装软件前务必更新源,否则会出现找不到安装包
apt-get update
#安装nginx
apt-get install nginx
容器中安装PHP:
sudo apt-get install -y language-pack-en-base locale-gen en_US.UTF-8 sudo apt-get install software-properties-common sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get -y install php7.1 sudo apt-get -y install php7.1-mysql sudo apt-get install php7.1-fpm apt-get install php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
至此容器的基础环境(nginx+php)搭建好了。
接下来我们把刚才的容器做成一个镜像,然后以这个镜像来做接下来的操作。
首先用docker ps查询容器的ID,然后执行下面命令,将容器做成镜像
提交镜像:
docker commit-m“ubuntu+nginx+php"-a“dadong"0d358e48211c79 myserver
1、创建容器:
docker run --name myserver -p 9001-9020:9001-9020 -v /data:/data -v /etc/nginx:/etc/nginx -v /etc/php/7.1:/etc/php/7.1 -it 1023495336/linux
注意:如果需要退出容器,使用快捷键ctrl+p+q
2、修改配置文件
修改配置文件的域名,端口
修改docker配置文件可以在宿主机中的映射文件修改,然后到docker容器中重启nginx
service nginx reload
3、修改宿主机nginx配置文件,实现域名访问docker容器中项目。
在nginx配置文件/etc/nginx/conf.d下创建以.conf结尾的配置文件,内容如下:
server { listen 80; server_name aaa.100wlc.com; location / { proxy_pass http://172.16.237.125:9030; ##宿主机IP:宿主机端口(宿主机映射的容器端口) } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
重启宿主机nginx
相关文章
- 禁用PHP函数,可以对php.ini进行配置
- PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测
- Docker 搭建多容器组合服务 (nginx + PHP)
- php:用数组实现多语言(PHP 7.4.2)
- 搭建docker内网私服(docker-registry with nginx&ssl on centos)
- Docker - 构建镜像:使用docker build命令和Dockerfile文件
- php:在linux上用sudo提升权限(centos 8 / PHP 7.4.2)
- Docker的三种网络代理配置:dockerd pull镜像代理;容器docker run网络代理;docker build代理--build-arg
- docker history 27f1068ca9da --no-trunc查看镜像dockerfile内容
- [php-src] 窥探Php内核中的数组与面向对象
- 19 - vulhub - docker daemon api 未授权访问漏洞
- 【docker】解决 Failed with result ‘exit-code‘和Start request repeated too quickly和Failed to start Docker
- 80.第十七章 企业级容器技术docker -- Docker 数据管理(八)
- 78.第十七章 企业级容器技术docker -- Docker 镜像制作和管理(六)
- 75.第十七章 企业级容器技术docker -- 容器操作基础命令(三)
- 【云原生之Docker实战】使用docker部署Memos碎片化知识管理工具
- 【云原生之Docker实战】使用Dockerfile构建docker镜像
- Docker pull拉取镜像报错“Error response from daemon: Get “https://registry-1.docker.io/v2”解决办法
- docker启动服务---------------nginx+php
- Docker学习笔记06:docker使用之Hello World
- Docker 镜像管理
- 【Docker系列】3.docker-compose安装redis
- Docker学习笔记(五):Dockerfile生成历史查询、修改docker容器编码格式
- Jenkins pipeline 拉取,打包,docker 脚本