2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Compose on Docker Companyn käynnistämä työkaluohjelmisto, joka voi hallita useita Docker-säiliöitä sovelluksen muodostamiseksi. Sinun on määritettävä asetustiedosto docker-compose.yml YAML-muodossa ja kirjoitettava kutsusuhteet useiden säilöjen välillä.Sitten yhdellä komennolla voit käynnistää/pysäyttää nämä säilöt samanaikaisesti
Docker suosittelee, että käytämme vain yhtä palvelua jokaisessa säilössä. Koska telakointikontti vie vain vähän resursseja, on parasta erottaa jokainen palvelu erikseen.
Jos minun on otettava käyttöön useita palveluita samanaikaisesti, pitääkö minun kirjoittaa erillinen Docker-tiedosto jokaiselle palvelulle ja rakentaa sitten kuva ja säilö. Tämä on uuvuttavaa, joten Docker tarjoaa meille virallisesti Docker-compose-monipalvelun käyttöönottotyökalun? .
Esimerkiksi Web-mikropalveluprojektin toteuttamiseksi on usein tarpeen lisätä itse web-palvelukontin lisäksi taustatietokanta mysql-palvelukontti, redis-palvelin, rekisteröintikeskus eureka ja jopa kuormantasaussäiliöt jne. . . . . .
Compose-toiminnon avulla käyttäjät voivat määrittää joukon liittyviä sovellussäilöjä projektiksi erillisen docker-compose.yml-mallitiedoston (YAML-muoto) kautta.
Voit helposti määrittää monisäilösovelluksen määritystiedoston avulla ja asentaa sitten kaikki sovelluksen riippuvuudet yhdellä komennolla ja viimeistellä koontiversion. Docker-Compose ratkaisee konttien hallinnan ja organisoinnin ongelman.
Nopeutettu latausosoite
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
Lisää suoritettavat oikeudet
chmod +x /usr/local/bin/docker-compose
Tarkista, onko asennus onnistunut
docker-compose --version
poista asennus
sudo rm / usr/ local/ bin/docker-compose
Kolme vaihetta kirjoittamiseen
Kirjoita Dockerfile määrittääksesi jokainen mikropalvelusovellus ja rakentaaksesi vastaava kuvatiedosto
Docker-compose.yml:n avulla voit määrittää täydellisen liiketoimintayksikön ja järjestää erilaisia konttipalveluita koko sovelluksessa.
Suorita lopuksi docker-compose up -komento käynnistääksesi ja ajaaksesi koko sovelluksen suorittaaksesi yhden napsautuksen käyttöönoton ja siirtyäksesi verkkoon.
Luo yleisiä komentoja
docker-compose -h # Näytä ohje
docker-compose up # Käynnistä kaikki docker-compose-palvelut
docker-compose up -d # Käynnistä kaikki docker-compose-palvelut ja suorita ne taustalla
docker-compose down # Pysäytä ja poista säilöt, verkot, taltiot ja kuvat.
Docker-compose exec yml:n palvelutunnus # Syötä säilön ilmentymän sisään
docker-compose exec docker-compose.yml tiedosto kirjallinen palvelutunnus /bin/bash
docker-compose ps # Näytä kaikki käynnissä olevat säilöt, jotka docker-compose tällä hetkellä ohjaa
docker-compose alkuun # Näytä nykyiset docker-composen organisoimat konttiprosessit
Palvelutunnus docker-compose lokeissa yml # Näytä säilön tulostusloki
docker-compose config # Tarkista asetukset
docker-compose config -q # Tarkista kokoonpano ja tulos vain, jos on ongelmia
docker-compose restart # Käynnistä palvelu uudelleen
docker-compose aloitus # Käynnistä palvelu
docker-compose stop # Pysäytä palvelu
docker-machine-komennon asennus
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) Määritä Linux-virtuaalikoneessa IP-osoitteeksi 192.168.90.215 (x on opiskelijatunnuksesi 3 viimeistä numeroa, y on itse määrittämä), ja virtuaalikone voi käyttää Internetiä normaalisti;
2) Määritä DNS-palvelin, toimialue on cr.com (abc on nimesi alkukirjaimet), kun määritys on valmis, käytä nslookup-ohjelmaa eteenpäin- ja taaksepäinresoluution tarkistamiseen;
3) Määritä LEMP (eli Nginx + MySQL (MariaDB) + PHP) ja siirry osoitteeseen www.cr.com (abc on nimikirjaimesi) oikean isännän kautta päästäksesi käsiksi rakennettuun LEMP:iin. (Et voi muokata hosts-tiedostoa paikallista resoluutiota varten, mutta sinun on käytettävä omaa määritettyä DNS-osoitettasi)
Määritä ensin staattinen IP Linuxille http://alleniverrui.top/archives/linux-pei-zhi-jing-tai-ip (jos sitä ei voi avata, vaihda osoite alla)
//tehdä
Muokkaa /etc/named.conf-tiedostoa
vim /etc/named.conf
Muuta kuuntelu- ja kyselyarvot mihin tahansa
Määritä dns ratkaisemaan cr.com 192.168.90.215
vim /etc/named.rfc1912.zones
Lisää tiedoston loppuun
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; };
};
:wq säästääksesi
Muokkaa vastaavaa asetustiedostoa vim /var/named/com.cr.loop
Lisää seuraava
$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.
Muokkaa vim /var/named/cr.com.zone
Lisää seuraava
$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
Käynnistä dns uudelleen
systemctl restart named
Näytä dns-tila
systemctl status named
Aloitettu onnistuneesti
Jäsentää edelleen nslookup cr.com
Käänteinen jäsennys nslookup 192.168.90.215
Kirjoita docker-compose.yml-tiedosto kansioon /mydocker/lemp
vim /mydocker/lemp/docker-compose.yml täytä seuraava sisältö
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
Luo nginx/Docker-tiedosto hakemistoon /mydocker/lemp/
täyttää
FROM nginx:latest
COPY ./default.conf /etc/nginx/conf.d/default.conf
Luo default.conf
Täytä seuraava sisältö
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;
}
}
Luo php/Docker-tiedosto hakemistoon /mydocker/lemp/
täyttää
FROM php:7.0-fpm
RUN docker-php-ext-install mysqli
Orkestroida telakointikontteja
docker-compose up -d
Docker ps nähdäksesi kontin ajotilan
Aloitettu onnistuneesti
Tämä kone käyttää php-ympäristöä ja nginx-ympäristöä IP:n kautta
Pääsy onnistui
Määritä paikallinen dns-palvelin virtuaalikoneena, joka on 192.168.90.215
Avaa cmd-ikkuna ja suorita ping-testi osoitteessa cr.com
Pingattu onnistuneesti
Pääsy rakennettuun php-ympäristöön verkkotunnuksen kautta
Muokkaa nginx-määritystiedostoa
Lopullinen verkkotunnuksen nimi pääsee suoraan verkkosivustolle