Technology sharing

Docker-componere】Aedificare php environment

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Docker-componere continens orchestration

1. quid est?

Componere instrumentum programmatum a Docker Company immissum est, quod multa vasa Docker ad applicationem formare potest. Definire debes configurationem fasciculi docker-compose.yml in YAML forma ac relationes inter plures continentias scribes.Deinde, uno tantum praecepto, haec vasa simul inire potes

  • · Docker-Componere est munus apertum officiale Docker, author ut celeris orchestrationis Docker botri continentis cognoscatur.

2. Quid facias?

Docker suadet nos solum unum servitium in unoquoque vase currere.

Si simul plura officia explicare debeo, numquid opus est mihi scribere singula Dockerfile pro singulis officiis ac deinde imaginem et vas condere? Hoc exhausimus, ita docker officialiter nobis praebet cum docker-componere multi-servitium instrumentorum instruere? .

Exempli gratia, ad efficiendum microservicium interretialem, praeter ipsum servitii Web continentis, saepe necesse est addere mysql servitii datorum posterioris-finem continens, redis server, registration centri eureka, et etiam onera pondera vasis, etc. . . . . .

Componere permittit utentes ad definiendum appositum applicationis continentiam ut consilium per singula documenta docker-compose.yml templates (YAML format).

Facile definire potes applicationem multi-continentis cum lima configuratione, tum uno mandato utere omnes clientelas applicationis ad instituendum et aedificandum perficiendum. Docker-Componere problema solvit quomodo vasis orchestratis regendi.

3. Ubi ire

  • Commentarium Officiale · https://docs.docker.com/compose/compose-file/compose-file-v3/
  • https://docs.docker.com/compose/install/

Accelerata download oratio

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  • 1

Adde permissiones exsecutabile

chmod +x /usr/local/bin/docker-compose
  • 1

Reprehendo si institutionem proficiat

docker-compose --version
  • 1
  • uninstall

    sudo rm / usr/ local/ bin/docker-compose
    
    • 1

4. compone core conceptibus

  • Tres gradus ad compone

    Scribere Dockerfile definire singula microservice application et aedificare correspondentes imagini lima

    Utere docker-compose.yml ad rem integram definiendam unitatis et varia opera continens in altiore applicatione disponere.

    Denique exsequere inceptor-conponere mandatum incipere et totam applicationem currere ad unam-click instruere et in online absolvere.

  • Componere mandata communia

    docker-componere h # View auxilium

    docker-componere sursum # Committitur omnes docker-componere officia

    docker-componere sursum -d # Committitur omnia officia docker-componere et currere in background

    docker-conponere # Desine ac delere continentia, reticula, volumina et imagines.

    Ministerium id in docker componere exec yml # Intra in continente instantia

    docker-compose exec docker-compose.yml file scriptum officium id /bin/bash

    docker-componere ps # Propono omnia currit vasis currently orchestrated per docker-componere

    docker-componere top # Ostende vena continens processus orchestratus per docker-componere

    Officium id in docker-componere omnia yml # View continens output log

    docker-componere aboutconfig # Reprehendo configuratione

    docker-componere aboutconfig -q # Reprehendo in configuration et output tantum si difficultates sunt

    docker-componere sileo # Sileo in ministerium

    docker-componere initium # Committitur in servitio

    docker-componere stop # Desine ministerium

docker-machina imperium institutionem

 base=https://get.daocloud.io/docker/machine/releases/download/v0.14.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
  sudo install /tmp/docker-machine /usr/local/bin/docker-machine
  • 1
  • 2
  • 3

5. Pugna practica: Configurare dns servo in Linux et aedificare ambitus lempus (Nginx + MySQL (MariaDB) + PHP)

Requirere

1) In Linux machinae virtualis, IP oratio ad 192.168.90.215 configurare (x est ultima 3 digitorum discipulorum tuorum ID, y a te ipso specificatur), et apparatus virtualis normaliter interreti accedere potest;

2) Configurare DNS servo, dominium cr.com est (abc est initiis tui nominis), postquam completa configuratione est, uti nslookup ad comprobandum solutionem anteriorem et adversam;

3) Configurare LEMP (i.e. Nginx + MySQL (MariaDB) + PHP), et accessu LEMP constructum accessu www.cr.com (abc tua initialia) per verum exercitum. (Exercitus limam solutionis localis mutare non potes, sed DNS conformatus tuo utere debes)

6. Configure dns resolutio

Primum configurare static IP pro Linux http://alleniverrui.top/archives/linux-pei-zhi-jing-tai-ip (si aperiri non potest, inscriptionem infra muta)

//ad como

Edere /etc/named.conf file

vim /etc/named.conf
  • 1

Mutare auscultationem et valorem interrogationis ad aliquem

Configurare dns ad solutionem cr.com ad 192.168.90.215

vim /etc/named.rfc1912.zones 
  • 1

Addere in fine tabella

zone "cr.com" IN {
   type master;
   file "cr.com.zone";
  allow-update { none; };
};
zone "215.90.168.192.in-addr.arpa" IN {
        type master;
        file "com.cr.loop";
        allow-update { none; };
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

: Wq servare

Emendo file configurationem respondentem vim /var/named/com.cr.loop

Adde sequenti

$TTL 1D
@       IN SOA  cr.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
        PTR     cr.com.
        NS      ns.cr.com.
ns      A       192.168.90.215
201     PTR     www.cr.com.
201     PTR     email.cr.com.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Edit vim /var/named/cr.com.zone

Adde sequenti

$TTL 1D
@       IN SOA  cr.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.90.215
        AAAA    ::1
        NS      ns.server.com.
ns      IN A    192.168.90.215
www     IN A    192.168.90.215
email   IN A    192.168.90.215
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

sileo dns

systemctl restart named
  • 1

View dns status

systemctl status named
  • 1

Coepi feliciter

Prospicere parsing nslookup cr.com

Reverse parsing nslookup 192.168.90.215

Configurare lemp

Scribere docker-compose.yml file ad /mydocker/lemp

vim /mydocker/lemp/docker-compose.yml imple sequenti contenti

nginx:
    build: ./nginx/
    ports:
        - 80:80
    links:
        - php
    volumes_from:
        - app

php:
    build: ./php/
    expose:
        - 9000
    links:
        - mysql
    volumes_from:
        - app

app:
    image: php:7.0-fpm
    volumes:
        - .:/var/www/html
    command: "true"

mysql:
    image: mysql:latest
    volumes_from:
        - data
    environment:
        MYSQL_ROOT_PASSWORD: secret
        MYSQL_DATABASE: bookmarks
        MYSQL_USER: cr
        MYSQL_PASSWORD: cr123

data:
    image: mysql:latest
    volumes:
        - /var/lib/mysql
    command: "true"

phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
        - 8080:80
    links:
        - mysql
    environment:
        PMA_HOST: mysql
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

Create nginx/Dockerfile in /mydocker/lemp/

replendum

FROM nginx:latest

COPY ./default.conf /etc/nginx/conf.d/default.conf
  • 1
  • 2
  • 3

Create default.conf

Imple sequenti contentus

 

server {

  listen 80 default_server;

  root /var/www/html;

  index index.html index.php;

 

  charset utf-8;

 

  location / {

try_files $uri $uri/ /index.php?$query_string;

  }

 

  location = /favicon.ico { access_log off; log_not_found off; }

  location = /robots.txt  { access_log off; log_not_found off; }

 

  access_log off;

  error_log  /var/log/nginx/error.log error;

 

  sendfile off;

 

  client_max_body_size 100m;

 

  location ~ .php$ {

  fastcgi_split_path_info ^(.+.php)(/.+)$;

  fastcgi_pass php:9000;

 fastcgi_index index.php;

 include fastcgi_params;

 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_intercept_errors off;

fastcgi_buffer_size 16k;

 fastcgi_buffers 4 16k;

  }

 

  location ~ /.ht {

 deny all;

  }

}

 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75

Create php/Dockerfile in /mydocker/lemp/

replendum

FROM php:7.0-fpm

RUN docker-php-ext-install mysqli

 
  • 1
  • 2
  • 3
  • 4
  • 5

Orchestrate docker continentia

 docker-compose up -d 
  • 1

Docker ps ad visum continens cursus status

Feliciter coepi

Hic apparatus php environment et nginx ambitus per IP accesses

Aditus felix

Configurare cus localis servo quasi machinae virtualis, quae est 192.168.90.215

Aperi fenestram cmdalem ac ping test in cr.com praestare

Feliciter pinged

Accessum constructum php environment per domain nomen

Mutare nginx configuration file

Ultimum nomen domain nomen paginae directe accesserit