Docker-Compose构建lnmp

这篇具有很好参考价值的文章主要介绍了Docker-Compose构建lnmp。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验前准备

宿主机:192.168.188.17,安装docker、docker-compose
准备以下压缩包和配置文件nginx-1.12.0.tar.gz、wordpress-4.9.4-zh_CN.tar.gz、nginx.conf、mysql-boost-5.7.20.tar.gz、my.cnf、php-7.1.10.tar.bz2、php-fpm.conf、php.ini、www.conf

安装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
这个下得很慢,自己想办法搞一份也行,把它放到/usr/local/bin/目录下
cp /opt/docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
可以看一下版本检查能不能用
docker-compose --version
Docker-Compose构建lnmp,云Linux,docker,容器,运维

Nginx

准备工作目录

mkdir -p /opt/compose_lnmp/compose_nginx/nginx
cp /opt/nginx-1.12.0.tar.gz /opt/compose_lnmp/compose_nginx/nginx/
cp /opt/wordpress-4.9.4-zh_CN.tar.gz /opt/compose_lnmp/compose_nginx/nginx/

准备Dockerfile脚本

vim /opt/compose_lnmp/compose_nginx/nginx/Dockerfile

FROM centos:7
MAINTAINER this is nginx image <lnmp>
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin nginx
ADD nginx-1.12.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.12.0
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module;make -j 4 && make install
ENV PATH /usr/local/nginx/sbin:$PATH
ADD nginx.conf /usr/local/nginx/conf/
ADD wordpress-4.9.4-zh_CN.tar.gz /usr/local/nginx/html
RUN chmod 777 -R /usr/local/nginx/html/
EXPOSE 80
VOLUME [ "/usr/local/nginx/html/" ]
CMD [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

Dockerfile的解释如下

#基础镜像
FROM centos:7
#维护者信息
MAINTAINER this is nginx image <lnmp>
#安装依赖包,并且添加nginx用户
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin nginx
#将Dockerfile所在目录下的nginx-1.12.0.tar.gz压缩包添加到容器中/usr/local/src/的目录下(会自动解压)
ADD nginx-1.12.0.tar.gz /usr/local/src/
#进入容器的/usr/local/src/nginx-1.12.0目录
WORKDIR /usr/local/src/nginx-1.12.0
#编译安装
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module;make -j 4 && make install
#添加环境变量
ENV PATH /usr/local/nginx/sbin:$PATH
#将Dockerfile所在目录下的nginx.conf配置文件添加到容器中/usr/local/nginx/conf/的目录下
ADD nginx.conf /usr/local/nginx/conf/
#将Dockerfile所在目录下的wordpress-4.9.4-zh_CN.tar.gz添加到容器中/usr/local/nginx/html/的目录下(自动解压)
ADD wordpress-4.9.4-zh_CN.tar.gz /usr/local/nginx/html
#为/usr/local/nginx/html/赋权
RUN chmod 777 -R /usr/local/nginx/html/
#映射的容器端口
EXPOSE 80
#允许被挂载的目录
VOLUME [ "/usr/local/nginx/html/" ]
#开启容器后执行的命令
CMD [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

准备nginx.conf

搞一份nginx.conf配置文件
cp /opt/nginx.conf /opt/compose_lnmp/compose_nginx/nginx/
主要是增加一个动态页面的location块,这里的IP要写PHP服务的容器ip
Docker-Compose构建lnmp,云Linux,docker,容器,运维
主要配置代码以及少量解释

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        location / {
            root   html;
            #这里要写index.php
            index  index.html index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           html;
	    #这个ip和端口就是php容器的ip和服务端口
            fastcgi_pass   172.20.0.30:9000;
            fastcgi_index  index.php;
	    #$fastcgi_script_name类似于外部变量,你在浏览器访问时输的uri是什么这里就是什么
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

Mysql

准备工作目录

mkdir -p /opt/compose_lnmp/compose_mysql/mysql
cp mysql-boost-5.7.20.tar.gz /opt/compose_lnmp/compose_mysql/mysql/

编写Dockerfile脚本

vim /opt/compose_lnmp/compose_mysql/mysql/Dockerfile

FROM centos:7
MAINTAINER this is mysql images <lnmp>
RUN yum -y install ncurses ncurses-devel bison cmake pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin mysql
ADD mysql-boost-5.7.20.tar.gz /usr/local/src/
WORKDIR /usr/local/src/mysql-5.7.20/
RUN cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1;make -j4;make install
ADD my.cnf /etc/my.cnf
EXPOSE 3306
RUN chown -R mysql:mysql /usr/local/mysql/;chown mysql:mysql /etc/my.cnf
WORKDIR /usr/local/mysql/bin/
RUN ./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data;cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/;systemctl enable mysqld
ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
VOLUME [ "/usr/local/mysql" ]
CMD [ "/usr/sbin/init" ]

Dockerfile解释

#基础镜像
FROM centos:7
#维护者信息
MAINTAINER this is mysql images <lnmp>
#安装依赖包,添加mysql用户
RUN yum -y install ncurses ncurses-devel bison cmake pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin mysql
#向容器的/usr/local/src/目录添加mysql-boost-5.7.20.tar.gz压缩包(自动解压)
ADD mysql-boost-5.7.20.tar.gz /usr/local/src/
#进入这个目录
WORKDIR /usr/local/src/mysql-5.7.20/
#编译安装
RUN cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1;make -j4;make install
#向容器的/etc/my.cnf目录添加my.cnf
ADD my.cnf /etc/my.cnf
#映射端口
EXPOSE 3306
#改变所属用户
RUN chown -R mysql:mysql /usr/local/mysql/;chown mysql:mysql /etc/my.cnf
#进入这个目录
WORKDIR /usr/local/mysql/bin/
#初始化mysql数据库
RUN ./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data;cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/;systemctl enable mysqld
#添加环境变量
ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
#允许挂载的目录
VOLUME [ "/usr/local/mysql" ]
#容器启动后执行
CMD [ "/usr/sbin/init" ]

准备my.cnf

搞一份my.cnf配置文件
cp /opt/my.cnf /opt/compose_lnmp/compose_mysql/mysql/
my.cnf里设置大概如下

[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

PHP

准备工作目录

mkdir -p /opt/compose_lnmp/compose_php/php
cp /opt/php-7.1.10.tar.bz2 /opt/compose_lnmp/compose_php/php/
编写Dockerfile脚本
vim /opt/compose_lnmp/compose_php/php/Dockerfile

FROM centos:7
MAINTAINER this is php image <lnmp>
RUN yum install -y gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel \
gcc gcc-c++ make pcre-devel;useradd -M -s /sbin/nologin nginx
ADD php-7.1.10.tar.bz2 /usr/local/src/
WORKDIR /usr/local/src/php-7.1.10
RUN ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip ; make -j 4 ; make install
ENV PATH /usr/local/php/bin:/usr/local/php/sbin:$PATH
ADD php.ini /usr/local/php/lib/
ADD php-fpm.conf /usr/local/php/etc/
ADD www.conf /usr/local/php/etc/php-fpm.d/
EXPOSE 9000
CMD /usr/local/php/sbin/php-fpm -F

Dockerfile解释

#基础镜像
FROM centos:7
#维护者信息
MAINTAINER this is php image <lnmp>
#安装依赖包
RUN yum install -y gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel \
gcc gcc-c++ make pcre-devel;useradd -M -s /sbin/nologin nginx
#向容器的/usr/local/src/目录添加php-7.1.10.tar.bz2 压缩包(自动解压)
ADD php-7.1.10.tar.bz2 /usr/local/src/
#进入这个目录
WORKDIR /usr/local/src/php-7.1.10
#编译安装
RUN ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip ; make -j 4 ; make install
#添加环境变量
ENV PATH /usr/local/php/bin:/usr/local/php/sbin:$PATH
#向容器的/usr/local/php/lib/目录添加php.ini
ADD php.ini /usr/local/php/lib/
#向容器的/usr/local/php/etc/目录添加php-fpm.conf
ADD php-fpm.conf /usr/local/php/etc/
##向容器的/usr/local/php/etc/php-fpm.d/目录添加www.conf
ADD www.conf /usr/local/php/etc/php-fpm.d/
#映射端口
EXPOSE 9000
#容器启动后执行的命令
CMD /usr/local/php/sbin/php-fpm -F

准备相关文件

cp /opt/php.ini /opt/compose_lnmp/compose_php/php/
vim /opt/compose_lnmp/compose_php/php/php.ini
进行如下修改
取消注释,修改时区
Docker-Compose构建lnmp,云Linux,docker,容器,运维
修改套接字路径
Docker-Compose构建lnmp,云Linux,docker,容器,运维
cp /opt/php-fpm.conf /opt/compose_lnmp/compose_php/php/
vim /opt/compose_lnmp/compose_php/php/php-fpm.conf
php-fpm.conf需要进行如下修改
取消注释
Docker-Compose构建lnmp,云Linux,docker,容器,运维
cp /opt/www.conf /opt/compose_lnmp/compose_php/php/
vim /opt/compose_lnmp/compose_php/php/www.conf
www.conf需要进行如下修改
修改用户和组
Docker-Compose构建lnmp,云Linux,docker,容器,运维
修改监听ip和端口
Docker-Compose构建lnmp,云Linux,docker,容器,运维

编写docker-compose.yml配置文件

这里坑很多,如果要自己修改,建议看懂了再改

version: '3'
services:
 nginx:
  container_name: nginx
  hostname: nginx
  build:
   context: /opt/compose_lnmp/compose_nginx/nginx
   dockerfile: Dockerfile
  ports:
   - 1216:80
   - 1217:443
  privileged: true
  networks:
   lnmp:
    ipv4_address: 172.20.0.10
  volumes:
   - nginx-data:/usr/local/nginx/html/wordpress
 mysql:
  container_name: mysql
  hostname: mysql
  build:
   context: /opt/compose_lnmp/compose_mysql/mysql
   dockerfile: Dockerfile
  ports:
   - 1226:3306
  privileged: true
  networks:
   lnmp:
    ipv4_address: 172.20.0.20
 php:
  container_name: php
  hostname: php
  build:
   context: /opt/compose_lnmp/compose_php/php
   dockerfile: Dockerfile
  ports:
   - 1236:9000
  privileged: true
  networks:
   lnmp:
    ipv4_address: 172.20.0.30
  volumes:
   - nginx-data:/usr/local/nginx/html/wordpress
   - mysql-data:/usr/local/mysql/
volumes:
 nginx-data:
 mysql-data:
networks:
 lnmp:
  driver: bridge
  ipam:
   config:
    - subnet: 172.20.0.0/16

解释如下

#语法版本,这个版本不一样可能会有一定影响
version: '3'
services:
#nginx的配置
 nginx:
#容器名
  container_name: nginx
#主机名
  hostname: nginx
#用来指定dockerfile的模块
  build:
#dockerfile的路径
   context: /opt/compose_lnmp/compose_nginx/nginx
#dockerfile的名字
   dockerfile: Dockerfile
#端口映射,前面是宿主机的端口,后面是容器端口
  ports:
   - 1216:80
   - 1217:443
#给容器root权限
  privileged: true
#网络相关
  networks:
   lnmp:
    ipv4_address: 172.20.0.10
#将nginx-data挂载到nginx容器的/usr/local/nginx/html/wordpress
  volumes:
   - nginx-data:/usr/local/nginx/html/wordpress
#mysql配置
 mysql:
  container_name: mysql
  hostname: mysql
  build:
   context: /opt/compose_lnmp/compose_mysql/mysql
   dockerfile: Dockerfile
  ports:
   - 1226:3306
  privileged: true
  networks:
   lnmp:
    ipv4_address: 172.20.0.20
#php的配置
 php:
  container_name: php
  hostname: php
  build:
   context: /opt/compose_lnmp/compose_php/php
   dockerfile: Dockerfile
  ports:
   - 1236:9000
  privileged: true
  networks:
   lnmp:
    ipv4_address: 172.20.0.30
#将nginx-data挂载到/usr/local/nginx/html/wordpress,将mysql-data挂载到/usr/local/mysql/
  volumes:
   - nginx-data:/usr/local/nginx/html/wordpress
   - mysql-data:/usr/local/mysql/
#创建两个卷用于挂载
volumes:
 nginx-data:
 mysql-data:
#自定义网络
networks:
 lnmp:
  driver: bridge
  ipam:
   config:
- subnet: 172.20.0.0/16

目录结构

Docker-Compose构建lnmp,云Linux,docker,容器,运维

启动

cd /opt/compose_lnmp/
docker-compose -f docker-compose.yml up -d
选项解释
-f, --file FILE :使用特定的 compose 模板文件,默认为 docker-compose.yml
-p, --project-name NAME :指定项目名称,默认使用目录名称
-d :在后台运行
在一段漫长的等待之后
Docker-Compose构建lnmp,云Linux,docker,容器,运维
看一下容器有没有都启动
Docker-Compose构建lnmp,云Linux,docker,容器,运维

测试

Mysql授权

进入mysql容器
docker exec -it web02 bash
mysql -u root -p

create database wordpress;
grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;

测试

浏览器访问http://192.168.188.17:1216/wordpress/index.php
Docker-Compose构建lnmp,云Linux,docker,容器,运维

问题

在实验过程中有两个问题纠缠了我很久

Mysql容器无权访问问题

具体报错:Can t connect to local MySQL server through socket ‘/usr/local/mysql/mysql.soc’
报错分析:字面上看就是单纯的没找到.sock文件,根据网上的方法进行排查,发现/etc/my.cnf中写的是对的,但是.sock文件就是没生成,当我重启mysqld服务时发现居然没有权限,我才意识到可能是容器没有root权限
解决方法:在vim docker-compose.yml中为mysql容器添加了权限,具体如下:
Docker-Compose构建lnmp,云Linux,docker,容器,运维
重新生成并测试,解决问题

浏览器访问file not found问题

具体问题:当浏览器输入http://192.168.188.17:1216/wordpress/index.php时出现File not found报错,nginx容器中的nginx/logs/error.log日志报错为:FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: 192.168.188.1, server: localhost, request: “GET /wordpress/index.php HTTP/1.1”, upstream: “fastcgi://172.20.0.30:9000”, host: “192.168.188.17:1216”
报错分析:浏览器访问静态页面时正常访问,所以排除nginx服务状态问题,nginx.conf的location规则也多次检查没有问题,那么问题大概率就是出在php容器里,经过排查我发现问题可能是因为php容器没有共享到nginx容器中的nginx/html/目录导致的
解决方法:最简单的方法当然是直接在vim docker-compose.yml中用volumes_from挂载到nginx容器,但是这个方法好像只支持版本2,那么其他版本该怎么解决。其实只要将宿主机、nginx、php三者相互挂载就能用volumes实现volumes_from的功能,具体实现如下:
Docker-Compose构建lnmp,云Linux,docker,容器,运维
Docker-Compose构建lnmp,云Linux,docker,容器,运维
Docker-Compose构建lnmp,云Linux,docker,容器,运维
重新生成并测试,解决问题文章来源地址https://www.toymoban.com/news/detail-799920.html

到了这里,关于Docker-Compose构建lnmp的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker构建Java服务 docker-compose部署微服务

    目录 1.  安装Docker前置准备 设置Docker开机自启动 配置Docker阿里云镜像加速 安装Docker-compose 2、镜像拉取 3、创建docker-comepose.yaml文件 4.  创建数据映射容器挂载目录 ,以下是nacos   xxl-job-admin sql脚本文件 5.  docker-comepose 部署 1. 安装Docker前置准备 设置Docker开机自启动 配置Do

    2024年04月16日
    浏览(38)
  • 实战:win10安装docker并用docker-compose构建运行容器

    Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。但是某些时候我们没有Linux环境怎么破?为了解决这个问题我们可以用VM虚拟机上安装Linux系统进行处理。然而对于我们的WIN10系统自带Hyper-V虚拟机,简直不要太爽。我们可以直接开启Hyper-V服务,并安

    2024年02月12日
    浏览(54)
  • 【六祎 - Docker】Docker-compose;什么是Docker-compose

    从 2023 年 6 月底开始,Compose V1 将不再受支持,并将从所有 Docker Desktop 版本中删除。 确保使用 docker compose CLI 插件或通过激活 Docker Desktop 中的 Use Docker Compose V2 设置切换到 Compose V2。有关详细信息,请参阅 Compose 的演变。 Compose 是一个用于定义和运行多容器 Docker 应用程序的工

    2023年04月21日
    浏览(50)
  • 【docker】 docker-compose如何更新services镜像 | docker-compose如何更新某个镜像 | docker-compose如何重启某个服务

    更新镜像: 首先,确保你已经获取了最新的镜像版本。这可以通过 docker pull 命令来实现,或者直接使用 docker-compose pull 命令更新所有服务的镜像。 拉取 指定 镜像 - 代码如下: 拉取 所有 镜像 - 代码如下: 注意:在拉取更新的镜像后,docker-compose不会自动重新启动服务。你需要

    2024年02月06日
    浏览(47)
  • docker-compose build 和 docker-compose up -d 的区别

    docker-compose build 命令用于构建 Docker Compose 文件中定义的服务的镜像,根据 docker-compose.yml 文件中的配置信息,构建需要的镜像并且将它们打上标签。构建镜像是一个比较耗时的过程,可能需要从 Docker Hub 上拉取镜像、下载依赖等,而且在构建完成后不会启动容器。 docker-comp

    2024年02月13日
    浏览(81)
  • docker-compose和docker compose的区别

    在docker实际使用中,经常会搭配Compose,用来定义和运行多个 Docker 容器。使用时会发现,有时候的指令是docker-compose,有时候是docker compose,下面给出解释。 docker官方文档:https://docs.docker.com/compose/install/linux/ 官方文档中其实已经给出了答案:Compose分为V1和V2版本,安装方式分

    2024年01月19日
    浏览(46)
  • 【Docker-compose】基于Docker-compose创建LNMP环境并运行Wordpress网站平台

    参见使用Docker构建LNMP环境并运行Wordpress网站平台 Docker-Compose将所管理的容器分为三层,分别是 项目(project)、服务(service)以及容器(container) 。 Docker-Compose运行目录下的所有文件组成一个项目, 若无特殊指定项目名即为当前目录名 。 一个工程当中可包含多个服务,每个

    2024年02月15日
    浏览(51)
  • docker-compose up -d和docker-compose up --build的补充

    docker-compose up -d 命令用于启动已定义在 docker-compose.yml 文件中的服务容器,并以守护进程的方式在后台运行。 具体解释如下: docker-compose : 是一个用于定义和运行多个容器应用的工具。 up : 用于创建并启动容器。 -d 或 --detach : 表示以守护进程的方式运行容器,即在后台运行,

    2024年02月15日
    浏览(35)
  • docker-compose

    Docker-Compose 项目由 Python 编写,调用 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 来进行编排管理 1. Dockerfile 与服务编排  我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器

    2024年02月03日
    浏览(36)
  • 【Docker-Compose】

    Dockerfile模板可以定义一个单独的应用容器,若需要定义多个容器就需要服务编排。 Dockerfile可以让用户管理一个单独的应用容器,而compose允许用户在一个模板(YAML格式)中定义一组相关应用容器(被称为一个项目)。 Docker-Compose是Docker官方的开源项目,负责实现对Docker容器

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包