精华内容
下载资源
问答
  • docker-compose.yml搭建lnmp

    2021-08-11 13:24:46
    安装 docker-compose 以及 创建目录和文件!!! [root@localhost ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-...

    安装 docker-compose 以及 创建目录和文件!!!

    [root@localhost ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   633  100   633    0     0    969      0 --:--:-- --:--:-- --:--:--   967
    100 12.1M  100 12.1M    0     0  3185k      0  0:00:03  0:00:03 --:--:-- 4502k
    [root@localhost ~]# ls
    anaconda-ks.cfg
    [root@localhost ~]# mkdir compose_lnmp
    [root@localhost ~]# cd compose_lnmp/
    [root@localhost compose_lnmp]# mkdir php
    [root@localhost compose_lnmp]# cd php/
    [root@localhost php]# vim Dockerfile
    [root@localhost php]# ls
    Dockerfile
    [root@localhost php]# cd ..
    [root@localhost compose_lnmp]# ls
    php
    [root@localhost compose_lnmp]# ls
    docker-compose.yml  php
    [root@localhost compose_lnmp]# ll /usr/local/bin/docker-compose 
    -rw-r--r--. 1 root root 12737304 8月  11 01:10 /usr/local/bin/docker-compose
    [root@localhost compose_lnmp]# chmod +x /usr/local/bin/docker-compose
    [root@localhost compose_lnmp]# docker-compose --version
    docker-compose version 1.29.2, build 5becea4c
    [root@localhost compose_lnmp]# cd 
    [root@localhost ~]# tree compose_lnmp/
    compose_lnmp/
    ├── docker-compose.yml
    └── php
        └── Dockerfile
    
    1 directory, 2 files
    
    

    编写php里面的 Dockerfile!!!

    [root@localhost ~]# cat compose_lnmp/php/Dockerfile 
    FROM php:7.0-fpm
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
        && echo "Asia/Shanghai" > /etc/timezone
    RUN apt-get update && apt-get install -y \
            libfreetype6-dev \
            libjpeg62-turbo-dev \
            libmcrypt-dev \
            libpng-dev \
            libmemcached-dev \
            zlib1g-dev \
            libcurl4-openssl-dev \
            libxml2-dev \
            --no-install-recommends && rm -rf /var/lib/apt/lists/* \
        && docker-php-ext-install -j$(nproc) \
            iconv mcrypt gettext curl mysqli pdo pdo_mysql zip \
            mbstring bcmath opcache xml simplexml sockets hash soap \
        && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
        && docker-php-ext-install -j$(nproc) gd
    
    CMD ["php-fpm", "-F"]
    
    

    编写docker-compose.yml!!

    [root@localhost ~]# cat compose_lnmp/docker-compose.yml 
    version: "3"
    
    services:
      mysql:
        hostname: mysql
        restart: always
        image: mysql:5.6
        container_name: mysql
        ports:
          - "3306:3306"
        volumes:
          - mysql-config:/etc/mysql
          - mysql-log:/var/log/mysql
          - mysql-data:/var/lib/mysql
        environment:
          MYSQL_ROOT_PASSWORD: 123456
          MYSQL_USER: user
          MYSQL_PASSWORD: user123
      php:
        hostname: php
        restart: always
        container_name: php
        build:
          context: ./php
          dockerfile: Dockerfile
        ports:
          - "9000:9000"
        links:
          - mysql:mysql
        volumes:
          - nginx-html:/var/www/html
          - php-config:/usr/local/etc
      nginx:
        hostname: nginx
        restart: always
        container_name: nginx
        image: nginx:1.17.0
        ports:
          - "80:80"
          - "443:443"
        links:
          - "php:php"
        volumes:
          - nginx-config:/etc/nginx
          - nginx-log:/var/log/nginx
          - nginx-html:/usr/share/nginx/html
    
    volumes:
      mysql-config:
      mysql-log:
      mysql-data:
      nginx-html:
      php-config:
      nginx-config:
      nginx-log:
    
    

    启动服务!!!

    [root@localhost ~]# cd compose_lnmp/
    [root@localhost compose_lnmp]# docker-compose up -d
    Creating network "compose_lnmp_default" with the default driver
    Creating volume "compose_lnmp_mysql-config" with default driver
    Creating volume "compose_lnmp_mysql-log" with default driver
    Creating volume "compose_lnmp_mysql-data" with default driver
    Creating volume "compose_lnmp_nginx-html" with default driver
    Creating volume "compose_lnmp_php-config" with default driver
    Creating volume "compose_lnmp_nginx-config" with default driver
    Creating volume "compose_lnmp_nginx-log" with default driver
    Pulling mysql (mysql:5.6)...
    5.6: Pulling from library/mysql
    778066204fb7: Pull complete
    4934b98a40c4: Pull complete
    24d0034f4cf8: Pull complete
    cd5c81076c53: Pull complete
    3e630bfc5120: Pull complete
    fc97236980ff: Pull complete
    9935fd852726: Pull complete
    e25ac4a39a81: Pull complete
    e8b50ae6b193: Downloading [==========>                                        ]  13.97MB/64.27MB
    9b0af3588a72: Download complete
    0a2c92fcf3d9: Download complete
    
    
    WARNING: Image for service php was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
    Pulling nginx (nginx:1.17.0)...
    1.17.0: Pulling from library/nginx
    fc7181108d40: Pull complete
    c4277fc40ec2: Pull complete
    780053e98559: Pull complete
    Digest: sha256:bdbf36b7f1f77ffe7bd2a32e59235dff6ecf131e3b6b5b96061c652f30685f3a
    Status: Downloaded newer image for nginx:1.17.0
    Creating mysql ... done
    Creating php   ... done
    Creating nginx ... done
    
    
    

    查看容器!!!

    [root@localhost compose_lnmp]# docker ps
    CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                                                                      NAMES
    9bb2dc9f4d1f   nginx:1.17.0       "nginx -g 'daemon of…"   42 seconds ago   Up 40 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx
    b104b5b73386   compose_lnmp_php   "docker-php-entrypoi…"   44 seconds ago   Up 41 seconds   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp                                  php
    d4d563fe48ec   mysql:5.6          "docker-entrypoint.s…"   45 seconds ago   Up 43 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp                                  mysql
    
    

    数据持久化目录!!!

    [root@localhost compose_lnmp]# docker volume ls
    DRIVER    VOLUME NAME
    local     compose_lnmp_mysql-config
    local     compose_lnmp_mysql-data
    local     compose_lnmp_mysql-log
    local     compose_lnmp_nginx-config
    local     compose_lnmp_nginx-html
    local     compose_lnmp_nginx-log
    local     compose_lnmp_php-config
    
    

    配置php!!!

    [root@localhost compose_lnmp]# cd /var/lib/docker/volumes/compose_lnmp_php-config/_data/php
    [root@localhost php]# ls
    conf.d  php.ini-development  php.ini-production
    [root@localhost php]# cp php.ini-production php.ini
    [root@localhost php]# ls
    conf.d  php.ini  php.ini-development  php.ini-production
    [root@localhost php]# vim php.ini
    
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = Asia/shanghai   # 取消注释  修改时区!
    
    

    配置nginx!!!

    [root@localhost php]# vim /var/lib/docker/volumes/compose_lnmp_nginx-config/_data/conf.d/default.conf
       location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm index.php;    #添加index.php
        }
    
       location ~ \.php$ {
            root           html;
            fastcgi_pass   php:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
            include        fastcgi_params;
        }
    
    
    

    测试 mysql!!!

    [root@localhost php]# docker container exec -it mysql bash
    root@mysql:/# mysql -uroot -p123456
    Warning: Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.6.51 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    
    
    
    

    php页面!!

    [root@localhost php]# vim /var/lib/docker/volumes/compose_lnmp_nginx-html/_data/index.php
    [root@localhost php]# cat /var/lib/docker/volumes/compose_lnmp_nginx-html/_data/index.php
    <?php
        phpinfo();
    ?>
    
    

    重启所有容器!!!

    [root@localhost ~]# cd compose_lnmp/
    [root@localhost compose_lnmp]#  docker-compose restart
    Restarting nginx ... done
    Restarting php   ... done
    Restarting mysql ... done
    [root@localhost compose_lnmp]# ss -antl
    State             Recv-Q            Send-Q                       Local Address:Port                       Peer Address:Port           Process           
    LISTEN            0                 128                                0.0.0.0:9000                            0.0.0.0:*                                
    LISTEN            0                 128                                0.0.0.0:3306                            0.0.0.0:*                                
    LISTEN            0                 128                                0.0.0.0:80                              0.0.0.0:*                                
    LISTEN            0                 128                                0.0.0.0:22                              0.0.0.0:*                                
    LISTEN            0                 128                                0.0.0.0:443                             0.0.0.0:*                                
    LISTEN            0                 128                                   [::]:9000                               [::]:*                                
    LISTEN            0                 128                                   [::]:3306                               [::]:*                                
    LISTEN            0                 128                                   [::]:80                                 [::]:*                                
    LISTEN            0                 128                                   [::]:22                                 [::]:*                                
    LISTEN            0                 128                                   [::]:443                           
    
    展开全文
  • docker-compose.yml搭建lnmp安装docker-compose创建目录和文件编写php/Dockerfile编写docker-compose.yml查看容器是否启动配置php配置nginx测试mysql验证php 安装docker-compose [root@node1 ~]# curl -L ...

    安装docker-compose

    [root@node1 ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   633  100   633    0     0    499      0  0:00:01  0:00:01 --:--:--   499
    100 12.1M  100 12.1M    0     0  1276k      0  0:00:09  0:00:09 --:--:-- 1891k
    [root@node1 ~]# ll /usr/local/bin/docker-compose 
    -rw-r--r--. 1 root root 12737304 89 04:40 /usr/local/bin/docker-compose
    [root@node1 ~]# chmod +x /usr/local/bin/docker-compose 
    
    
    [root@node1 ~]# docker-compose --version
    docker-compose version 1.29.2, build 5becea4c
    
    

    ·

    创建目录和文件

    [root@node1 ~]# tree compose_lnmp/
    compose_lnmp/
    ├── docker-compose.yml
    └── php
        └── Dockerfile
    
    1 directory, 2 files
    
    

    编写php/Dockerfile

    • 由于官方的php-fpm镜像缺少一些扩展功能,所以要使用dockerfile构建新的镜像
    • 注意配置时区和mysql扩展
    
    [root@node1 ~]# vim compose_lnmp/php/Dockerfile 
    FROM php:7.0-fpm
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
        && echo "Asia/Shanghai" > /etc/timezone
    RUN apt-get update && apt-get install -y \
            libfreetype6-dev \
            libjpeg62-turbo-dev \
            libmcrypt-dev \
            libpng-dev \
            libmemcached-dev \
            zlib1g-dev \
            libcurl4-openssl-dev \
            libxml2-dev \
            --no-install-recommends && rm -rf /var/lib/apt/lists/* \
        && docker-php-ext-install -j$(nproc) \
            iconv mcrypt gettext curl mysqli pdo pdo_mysql zip \
            mbstring bcmath opcache xml simplexml sockets hash soap \
        && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
        && docker-php-ext-install -j$(nproc) gd
    
    CMD ["php-fpm", "-F"]
    

    编写docker-compose.yml

    • 官方推荐使用volume优于bind mount
    • volume默认存放在/var/lib/docker/volumes下
    
    [root@node1 ~]# vim compose_lnmp/docker-compose.yml
    version: "3"
    
    services:
      mysql:
        hostname: mysql
        restart: always
        image: mysql:5.6
        container_name: mysql
        ports:
          - "3306:3306"
        volumes:
          - mysql-config:/etc/mysql
          - mysql-log:/var/log/mysql
          - mysql-data:/var/lib/mysql
        environment:
          MYSQL_ROOT_PASSWORD: 123456
          MYSQL_USER: user
          MYSQL_PASSWORD: user123
      php:
        hostname: php
        restart: always
        container_name: php
        build:
          context: ./php
          dockerfile: Dockerfile
        ports:
          - "9000:9000"
        links:
          - mysql:mysql
        volumes:
          - nginx-html:/var/www/html
          - php-config:/usr/local/etc
      nginx:
        hostname: nginx
        restart: always
        container_name: nginx
        image: nginx:1.17.0
        ports:
          - "80:80"
          - "443:443"
        links:
          - "php:php"
        volumes:
          - nginx-config:/etc/nginx
          - nginx-log:/var/log/nginx
          - nginx-html:/usr/share/nginx/html
    
    volumes:
      mysql-config:
      mysql-log:
      mysql-data:
      nginx-html:
      php-config:
      nginx-config:
      nginx-log:
    

    启动服务

    [root@node1 ~]# cd compose_lnmp/
    [root@node1 compose_lnmp]# docker-compose up -d //启动
    Creating network "compose_lnmp_default" with the default driver
    Creating volume "compose_lnmp_mysql-config" with default driver
    Creating volume "compose_lnmp_mysql-log" with default driver
    Creating volume "compose_lnmp_mysql-data" with default driver
    
    [root@node1 compose_lnmp]# docker-compose restart  //重启
    

    查看容器是否启动

    [root@localhost compose_lnmp]# docker ps
    CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                                                                      NAMES
    5283d0f88570   nginx:1.17.0       "nginx -g 'daemon of…"   36 seconds ago   Up 33 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx
    03579e9f302e   compose_lnmp_php   "docker-php-entrypoi…"   38 seconds ago   Up 36 seconds   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp                                  php
    7b23afc86436   mysql:5.6          "docker-entrypoint.s…"   40 seconds ago   Up 38 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp 
    

    数据化持久目录

    [root@localhost compose_lnmp]# docker volume ls
    DRIVER    VOLUME NAME
    local     78d81a1d5ef2bf7966317bbc7f46f0e5014c5e44d2b2617ddce23044bfe52cb2
    local     167b316bf399c5ed20c6ebbfb4707d4bdfeaeb228a8ed34b5c1cf9b36473737a
    local     c9aaa3511050f57ee02f2972ac1220774a73c1c317de2bb0370a056f6186c6aa
    local     compose_lnmp_mysql-config
    local     compose_lnmp_mysql-data
    local     compose_lnmp_mysql-log
    local     compose_lnmp_nginx-config
    local     compose_lnmp_nginx-html
    local     compose_lnmp_nginx-log
    local     compose_lnmp_php-config
    local     f10ca428e6a0e928904eaaeaac762b7549ddda5cba96211e8e7910520e23eca3
    
    

    配置php

    //默认的php.ini的文件是没有的,需要手动把模板配置文件复制为php.ini
    [root@localhost compose_lnmp]# cd /var/lib/docker/volumes/compose_lnmp_php-config/_data/php
    [root@localhost php]# ls
    conf.d  php.ini-development  php.ini-production
    [root@localhost php]# cp php.ini-production php.ini
    
    
    [root@localhost php]# vim php.ini
    date.timezone = Asia/shanghai
    //取消注释,修改时区
    

    配置nginx

    
    server {
        listen       80;
        server_name  localhost;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm index.php;  //此处添加index.php
        }
    
    
    
    
        location ~ \.php$ {
            root           html;
            fastcgi_pass   php:9000;  //php为容器的名称
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME   /var/www/html$fastcgi_script_name; //此处更改为存放网页的地方
            include        fastcgi_params;
        }
    
    

    测试mysql

    [root@localhost ~]# docker container exec -it mysql bash
    
    root@mysql:/# mysql -uroot -p123456
    
    Warning: Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.6.51 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    
    

    验证php

    编写php页面

    [root@localhost ~]# vim /var/lib/docker/volumes/compose_lnmp_nginx-html/_data/index.php
    <?php
        phpinfo();
    ?>
    
    

    重启所有容器

    [root@localhost ~]# cd compose_lnmp/
    [root@localhost compose_lnmp]# docker-compose restart
    Restarting nginx ... done
    Restarting php   ... done
    Restarting mysql ... done
    
    
    [root@localhost compose_lnmp]# ss -antl
    State     Recv-Q    Send-Q         Local Address:Port         Peer Address:Port    Process    
    LISTEN    0         128                  0.0.0.0:80                0.0.0.0:*                  
    LISTEN    0         128                  0.0.0.0:22                0.0.0.0:*                  
    LISTEN    0         128                  0.0.0.0:443               0.0.0.0:*                  
    LISTEN    0         128                  0.0.0.0:9000              0.0.0.0:*                  
    LISTEN    0         128                  0.0.0.0:3306              0.0.0.0:*                  
    LISTEN    0         128                     [::]:80                   [::]:*                  
    LISTEN    0         128                     [::]:22                   [::]:*                  
    LISTEN    0         128                     [::]:443                  [::]:*                  
    LISTEN    0         128                     [::]:9000                 [::]:*                  
    LISTEN    0         128                     [::]:3306                 [::]:*       
    

    请添加图片描述

    展开全文
  • 在使用Docker-compose时用到的Dockerfile和Docker-compose.yml这两文件应该如何编写。 我在自己学习摸索的时候搜索过很多相关Dockerfile和Docker-compose.yml这两个文件编写的文章,基本上都都是没有比较详细的作用...

    前言

    本章内容主要涉及内容:

    1. 在使用Docker-compose时用到的Dockerfile和Docker-compose.yml这两文件应该如何编写。
    2. 我在自己学习摸索的时候搜索过很多相关Dockerfile和Docker-compose.yml这两个文件编写的文章,基本上都都是没有比较详细的作用解释的,走了很多弯路,系统这篇文章可以帮助到有需要的人。
    3. 本章内容不是专业性的学术研究,而是近期自己使用学习Docker得到的经验分享。
    4. 有误的地方可以在评论告知,好让我进行更正。

    Docker-compose.yml

    Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
    注意:这里的YML文件的语法与编程语法不同,区别在于缩进的层级、数据类型、对象、等等,尤其一点,“冒号后面一定要加一个空格”最好在写之前去看一遍YML教程,了解一下有哪些语法特点
    另外除了以下例子举例的几种参数,还有很多的参数可以进行添加和设置,可以自己到docker官网进行查找。

    例子1

    version: "3.1"  #指定本 yml 依从的 compose 哪个版本制定的。
    services: #服务
        # Python3
        python_app: # 指定这个服务名叫做python_app
          container_name: myapp # 指定创建的容器名是myapp
          build: . # 指定从哪个位置去寻找Dockerfile文件进行程序环境构建
          image: python:3.9 # 使用的镜像版本
          tty: true # 后台模式,这个设置下可以进入命令行进行操作
          volumes: # 挂载一个目录到容器内的某位置下
            - .:/Demo # 这样写的意思是从宿主机的.目录【当前目录】挂载到容器内的 工作目录/Demo目录
            # 比如工作目录是bin目录,那么就会在容器内的bin目录下新建一个Demo目录,
            # 在容器内的这个Demo目录下进行文件的添加或者修改之后,都会保存在宿主机的.目录上【即当前目录】。
            # 宿主机:如果是在Windows10系统上使用Docker,那么宿主机就是Windows10系统本身
    

    例子2

    version: "3.1"  #指定本 yml 依从的 compose 哪个版本制定的。
    services: #服务
        # MySQL5.7
        mysql_01: 
        # 指定这个服务名叫mysql_01,如果在容器间需要进行连接可以直接使用mysql_01,进行服务之间的连接
        # 相当于就是 127.0.0.1
          image: mysql:5.7 # 指定的镜像是mysql 5.7
          environment: # 配置环境变量
            - MYSQL_ROOT_PASSWORD=root
          ports:# 配置端口映射【宿主机端口:容器内部端口】
            - "3306:3306"
          command: [ 
                     '--character-set-server=utf8mb4',
                     '--collation-server=utf8mb4_unicode_ci'
          ]# 配置服务命令,这里面的命令是mysql数据库的命令,设置支持中文的编码
    

    Dockerfile

    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。并且Dockerfile这个名字是Docker默认配置读取的,不能随意改动。
    Dockerfile文件只有在服务设置了build参数后才能找到正确的位置进行读取的,比如以下案例1对应Docker-compose.yml的案例1,build:. 表示从当前目录下找到Dockerfile文件读取构建

    例子1

    FROM python:3.9 # 使用的镜像是python3.9
    COPY . ./C4_Demo 
    # 复制宿主机当前目录下的所有文件[.] 到容器./C4_Demo目录下[容器内工作目录下的C4_Demo目录]
    WORKDIR /C4_Demo # 将工作目录切换至 C4_Demo 目录
    RUN pip install -r requirements.txt # 执行命令
    # 就是在容器内输入命令行 pip install -r requirements.txt 
    # RUN ["pip", "install","-r", "requirements.txt"] 等价于 
    # RUN pip install -r requirements.txt
    CMD ["python","sensitive_filtration.py"] # 执行命令运行程序
    # 这里面的引号必须是双引号
    # 就是在容器内输入命令 python sensitive_filtration.py 用于运行程序
    

    CMD 在docker run 时运行。
    RUN 是在 docker build。
    并且在 [ ]内的引号必须是双引号

    END

    使用Docker-compose知道这些基本的语法就可以构建一个简单的小Demo环境了,至于其他更多的环境设置可以去官网查找详细文档说明。

    展开全文
  • 一、使用docker-compose.yml和Dockerfile构建项目 1、项目基本介绍 使用express框架的路由访问views目录下的静态文件 2、项目的基本结构 . ├── Dockerfile ├── README.md ├── docker-compose.yml ├─...

    一、使用docker-compose.ymlDockerfile构建项目

    • 1、项目基本介绍

      使用express框架的路由访问views目录下的静态文件

    • 2、项目的基本结构

      .
      ├── Dockerfile
      ├── README.md
      ├── docker-compose.yml
      ├── index.js
      ├── package-lock.json
      ├── package.json
      └── views
          ├── index.html
          └── other.html
      
    • 3、index.js文件代码

      const express = require('express')
      const app = express(
    展开全文
  • docker-compose.yml的使用

    2021-06-21 11:21:49
    # -f 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定。 docker-compose -f docker-compose.yml up -d #启动所有容器,-d 将会在后台启动并运行所有的容器 docker-compose up -d #停用移除...
  • Docker那些事】系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构、docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 构建Docker镜像指南,含实战案例 Docker 制作自定义化的...
  • 注:在编写docker-compose.yml文件时,所有的冒号(:)、短横线(-)后面都需要加一个空格。 1、command 覆盖容器启动后默认执行的命令 command: echo "hello" 2、container_name 指定容器名称。默认将会使用 ...
  • 一份标准的docker-compose.yml文件应该包含version、services、networks三大部分,其中最关键的就是services和networks两个部分。 version: '2' services: web: image: dockercloud/hello-world ports: - 8080...
  • 创建docker-compose.yml文件version: '2'services:db:image: 'mysql/mysql-server:5.7'restart: alwayscontainer_name: mysql57privileged: trueenvironment:MYSQL_USER: yunwisdomMYSQL_PASSWORD: password123MYSQL...
  • 碰到了docker-compose.ymldocker-compose.override.yml 这两个要怎么用,之前不是很明白,看了手册之后才有点知道 现在整理一下 官方文档:https://docs.docker.com/compose/reference/overview/ docker-compose...
  • docker-compose.yml 设置

    2021-10-20 10:23:45
    yml 样例 # yaml 配置实例 version: '3' services: sts: image: faiss:dev runtime: nvidia environment: - NVIDIA_VISIBLE_DEVICES=all # 可调用所有GPU - LANG=C.UTF-8 # 支持中文 ports: - 5500:5500 # ...
  • Docker Compose(用户在集群中部署分布式应用) Docker Compose是一种编排服务,基于pyhton语言实现, 是一个用于在 Docker 上定义并运行复杂应用的工具,可以让用户在集群中部署分布式应用。 用户可以很容易地用一个...
  • 目录构建Java镜像的 Dockerfiledocker-compose.ymlMySQL启动脚本 构建Java镜像的 Dockerfile 文件名称:Dockerfile # 根据项目运行原件选择不同的jdk版 # jdk1.8 FROM openjdk:8u265-jdk-slim # FROM openjdk:8u265-...
  • 基于Docker-compose.yml部署lnmp 安装docker-compose [root@node1 ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-...
  • docker-compose.yml2020.12.26

    2020-12-26 14:23:05
    安装dockerdocker-compose后,docker-compose.yml可以在文件的当前目录使用docker-compose up -d命令启动容器很方便。 Tomcat tomcat需要构建一下才可以使用,创建Dockerfile文件然后在文件所在目录sudo docker ...
  • 文件内部样子 ... working_dir: "/app" # docker 内部工作目录 command: "python schema/rest_app.py" # 启动命令 container_name: "goks_kg-admin" # 容器名称 随便起名字,就是运行起来后的容器名称 im
  • 1.docker-compose.yml 文件怎么配置 ################### 备注.. ########################## php-qwe-api: image: long159357/nginx-php-fpm-swoole:v2 container_name: php-qwe-api ports: - 1500:80 ...
  • 今天在搭建一个superset,发现docker-compose.yml文件有个&部分看不懂。 x-superset-image: &superset-image apache/superset:latest-dev x-superset-user: &superset-user root x-superset-depends-on:...
  • Docker Compose 1.简介 微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。 Docker Compose是一种编排服务,基于pyhton...
  • docker-compose.yml详解

    2021-10-02 08:33:09
    ComposeDocker兼容性: Compose 文件格式有3个版本,分别为1, 2.x 和 3.x 目前主流的为 3.x 其支持 docker 1.13.0 及其以上的版本 常用参数: version # 指定 compose 文件的版本 services # 定义所有的 ...
  • 做容器编排以部署环境,是使用 docker-compose.yml 文件进行的,里面可能会需要用到 Dockerfile 。 1.2 为什么要使用DockerFile 原因:可以使用 commit 将容器保存为镜像,但是不要使用这种方法。因为会把所有的...
  • docker-compose.yml 备份

    2021-05-28 11:06:08
    docker-compose.yml 文件备份 平时用过的各种 docker-compose.yml 文件备份 Tomcat9 & MySQL5 version: '3' services: web: restart: always image: tomcat:9-jre8 container_name: web ports:
  • Docker Engine 与docker-compose version 之间的有以下关系: Compose file format Docker Engine 1 1.9.0+ 2.0 1.10.0+ 2.1 1.12.0+ 2.2, 3.0, 3.1, 3.2 1.13.0+ 2.3, 3.3, 3.4, 3.5 ...
  • 通过docker-compose快速搭建数据库,并且修改相关字符集为utf8mb4vi docker-compose.ymlversion: ‘2‘services:mysql:image: mysql:5.7.22#image: byh-registry:5000/mysql:v5.7.22restart: alwayscontainer_name: ...
  • https://docs.docker.com/compose/compose-file/compose-file-v3/#compose-file-v34-and-under https://docs.docker.com/compose/compose-file/compose-file-v3/#env_file 第一步:定义自己的参数,在myEnv.env 或...
  • 我用它来为PHP设置nginx:nginx:image: nginx:latestports:- 8080:80volumes:- ./code:/code- ./site.conf:/etc/nginx/conf.d/site.conflinks:- phpphp:image: php:7-fpmvolumes:- ./code:/...如何在docker-compose....
  • 1、新建一个文件夹,里面创建文件 docker-compose.yml2、编辑docker-compose.yml 文件,保存以下内容# docker volume#docker run -d --name dbdata -h dbdata -v /wwwroot:/home/vagrant/wwwroot -v /Downloads:/...
  • 我需要使用环境变量建一个docker环境 services: pytorch-dev: container_name: "${username}" build: context: ../ ...如果要使用docker-compose.yml文件中定义的环境变量,则必须将它们放在env_file文
  • centos8 docker-compose.yml

    2021-06-01 11:06:03
    docker_gitlab: image: gitlab/gitlab-ce container_name: gitlab ports: - "9001:9001" - "9002:443" - "9003:22" volumes: - "/home/gitlab/etc:/etc/gitlab" - "/home/gitlab/log:/var/log/gitla.
  • version: '3.5' services: rmqnamesrv: image: foxiswho/rocketmq:server container_name: rmqnamesrv ports: - 9876:9876 volumes: - ./data/logs:/opt/logs - ./data/store:/opt/store ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,697
精华内容 11,878
关键字:

docker-compose.yml