docker第十期 使用docker-compose 编排LNMP环境

前言

为了使我们编排的有序,不会显的混乱。我们首先创建需要的目录,然后在不同目录下建立自己的Dockerfile 文件。接下来都是硬货,大家要仔细认真的阅读。

实操

使用三步骤

  • 使用Dockerfile定义应用程序的环境
  • 使用docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境种一起运行
  • 最后,执行docker-compose up 命令来启动并运行整个应用程序。
$root@VM-8-11-ubuntu:/home# mkdir lnmp
$root@VM-8-11-ubuntu:/home# cd lnmp
$root@VM-8-11-ubuntu:/home/lnmp# mkdir php mysql nginx 
$root@VM-8-11-ubuntu:/home/lnmp# ls
mysql  nginx  php
# 编写自己的文件
$root@VM-8-11-ubuntu:vim docker-compose.yml
# nginx目录创建Dockerfile 文件
$root@VM-8-11-ubuntu:/home/lnmp/nginx# ls
conf.d  Dockerfile  fastcgi_params  logs  nginx.conf
# php的Dockerfile 文件
$root@VM-8-11-ubuntu:/home/lnmp/php# ls
Dockerfile  logs  php.ini
# docker-compose.yml文件
version: "3"  #表示我们的compose文件的版本,目前有1,2,3,每个版本语法不尽相同,这里以版本3为例
services:
  nginx:
    build:
      context: ./nginx    # 上下文nginx的Dockerfile目录
    container_name: nginx # 容器名
    ports:                # 端口映射
      - "8080:80"
    volumes:              # 数据卷挂载
      - ./www:/www/:rw
      - ./nginx/conf.d:/etc/nginx/conf.d/:rw
      - ./nginx/logs:/var/log/nginx/:rw
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    environment:
      TZ: "Asia/Shanghai"  # 时区设置
    depends_on:
      - php
    restart: always        # 总是重启
    networks:             # 网络设置 默认是docker0 的网桥模式
      - default

  php:
    build:
      context: ./php
    container_name: php
    ports:
      - "9501"
    volumes:
      - ./www:/www/:rw
      - ./php/logs:/var/log/php
    restart: always
    cap_add:
      - SYS_PTRACE
    networks:
      - default

  mysql:
    image: mysql:5.7.28
    container_name: mysql
    ports:
      - 3305:3306   // 端口映射
    volumes:
      - ./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro
      - ./data/mysql:/var/lib/mysql/:rw
    restart: always
    networks:
      - default
    environment:
      MYSQL_ROOT_PASSWORD: "123456"  // mysql官网需要设置默认密码
      TZ: "Asia/Shanghai"

在这里插入图片描述

这时我们发现就构建成功啦,大家可以参照这个形式,建造属于自己一套 docker-compose.yml 文件。注意:以上在 docker-compose.yml中的所有本地的参数 都可以新建一个 .ENV 文件来设置。

在这里插入图片描述

执行命令

  • 先执行 docker-compose build 构建镜像
  • 再执行 docker-compose up -d 运行容器,-d 为后台运行容器

注意: 可以直接执行 第二个命令的,因为如果本地没有镜像 ,会去先pull 镜像 再运行容器的。


还有些常用命令

  • docker-compose stop [容器名] 不填则停止所有容器
  • docker-compose start [容器名] 不填则启动所有
  • docker-compose restart [容器名] 重启容器

注意

当发现有容器启动不了时,可以查看下配置是否正确,端口这些,也可通过 docker logs 查看日志,也可在 docker-compose.yml 文件的 service下 添加 tty: true

参考文件。1


  1. docker-hub官网 ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装LNMP(Linux + Nginx + MySQL + PHP)环境,可以使用Docker Compose来简化安装过程。首先,确保已经安装了Docker,然后按照以下步骤安装docker-compose。 方法一: 1. 使用curl命令下载docker-compose二进制文件:curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 2. 授予docker-compose执行权限:chmod +x /usr/local/bin/docker-compose 3. 验证安装:docker-compose --version 方法二: 1. 提前下载docker-compose安装包,并上传到系统中(例如/opt目录)。 2. 在命令行中切换到安装包所在的目录:cd /opt/ 3. 授予docker-compose执行权限:chmod +x docker-compose 4. 将docker-compose移动到/usr/local/bin目录:mv docker-compose /usr/local/bin/ 5. 验证安装:docker-compose --version 安装docker-compose后,可以使用docker-compose.yml文件来定义和管理LNMP环境的容器。在工作目录下,使用以下命令来启动容器并在后台运行: docker-compose -f docker-compose.yml up -d 可以使用以下命令来查看已启动容器的状态: docker-compose ps 通过以上步骤,您可以使用docker-compose安装和管理LNMP环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用 Docker-compose 搭建lnmp](https://blog.csdn.net/m0_71931851/article/details/128195165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值