用最简单的步骤在docker中运行一个lnmp

欢迎大家访问我的博客 blog.ayla1688.cool


下载docker 

https://docs.docker.com/docker-for-windows/install/

 

到docker hub 上注册一个账号,拉取docker 镜像

https://hub.docker.com/r/2233466866/lnmp

 

拉取的步骤与composer 安装SDK一样的,关键要注意一下拉取的命令说明

docker run -dit \			// docker 运行  -d 守护模式 -i 允许你对容器内的标准输入 (STDIN) 进行交互 -t 在新容器内指定一个伪终端或终端
-p 80:80 \				//映射本机的80口到docker 容器的 80, 访问本机的80口就是访问了docker容器的80口。		nginx
-p 443:443 \				//映射本机443口									ssl
-p 3306:3306 \				//映射本机3306口									mysql
-p 9000:9000 \				//映射本机9000口									php-fpm
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \					// ??
-v /xxx/www:/www \							//映射本机文件夹到docker中
-v /xxx/nginx.conf:/usr/local/nginx/c
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴能帮上忙。以下是一些参考步骤: 1. 在docker-compose.yml定义你的服务,比如nginx,mysql,php等 2. 安装docker-compose,运行docker-compose up来启动你定义的服务 3. 通过docker stack deploy来部署你的服务,这样你就可以使用lnmp框架了 ### 回答2: 使用Docker Stack编写一个LNMP框架需要执行以下步骤: 1. 安装DockerDocker Compose:确保在服务器上安装DockerDocker Compose以便使用Docker Stack工具。 2. 创建一个目录结构:在服务器上创建一个目录来存储容器的配置文件和代码。 3. 编写Docker Compose文件:创建一个docker-compose.yml文件,定义LNMP框架所需的服务。可以使用官方提供的镜像或者自定义镜像。 4. 定义Nginx服务:在docker-compose.yml文件添加一个Nginx服务,并配置端口映射和挂载配置文件。 5. 定义PHP-FPM服务:在docker-compose.yml文件添加一个PHP-FPM服务,并配置与Nginx的连接。 6. 定义MySQL服务:在docker-compose.yml文件添加一个MySQL服务,并配置用户名、密码和数据卷。 7. 启动容器:运行"docker stack deploy"命令,将docker-compose.yml文件传递给Docker Stack工具,启动容器。 8. 配置虚拟主机:根据需求,在Nginx的配置文件添加虚拟主机,并配置与PHP-FPM的连接。 9. 部署代码:将PHP代码部署到指定的目录,并确保目录的权限正确。 10. 测试应用程序:在浏览器输入服务器的IP地址和Nginx配置的虚拟主机域名,查看是否能够访问LNMP框架。 这样,通过Docker Stack工具写一个LNMP框架就完成了,使用Docker可以方便地搭建和管理容器环境,减少了部署和维护的复杂性。同时,Docker提供了横向扩展和快速部署的优势,非常适合于构建可伸缩的Web应用程序。 ### 回答3: Docker Stack 是 Docker Swarm 的一个命令行工具,用于在 Docker Swarm 集群部署和管理应用程序。将 Docker Stack 与 LNMP(Linux + Nginx + MySQL + PHP)框架结合使用,可以轻松地在 Swarm 集群部署和管理一个完整的 LNMP 应用。 首先,我们需要准备一个 docker-compose.yml 文件来定义 LNMP 应用的服务。以下是一个示例文件: ```yaml version: '3' services: web: image: nginx:latest ports: - 80:80 volumes: - ./html:/usr/share/nginx/html - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/nginx.conf:/etc/nginx/nginx.conf networks: - lnmp-network php: image: php:latest volumes: - ./html:/var/www/html networks: - lnmp-network mysql: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./mysql/data:/var/lib/mysql networks: - lnmp-network networks: lnmp-network: ``` 上述文件定义了三个服务:web、php 和 mysql。其,web 使用 nginx 镜像,监听宿主机的 80 端口,并挂载了宿主机上的一些配置文件和静态页面。php 使用 php 镜像,挂载了宿主机上的代码目录。mysql 使用 mysql 镜像,设置了 root 用户的密码,并挂载了宿主机上的数据目录。 接下来,在 Swarm 集群运行以下命令来创建一个名为 lnmp 的 Stack: ```shell docker stack deploy -c docker-compose.yml lnmp ``` 这将在 Swarm 集群启动并部署 LNMP 应用程序。可以使用以下命令来查看应用程序的状态: ```shell docker stack ps lnmp ``` 在集群的各个节点上执行上述命令,可以看到各个服务的状态信息。 通过 Docker Stack,我们可以轻松地扩展和管理 LNMP 应用程序。可以使用以下命令来扩展 web 服务的实例数量: ```shell docker service update --replicas 5 lnmp_web ``` 这将将 web 服务的实例数量增加到 5 个。 总之,使用 Docker Stack 可以方便地编写和部署 LNMP 框架,简化了应用程序的维护和管理工作,并提供了强大的扩展能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值