informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Compose adalah perangkat lunak alat yang diluncurkan oleh Docker Company, yang dapat mengelola beberapa container Docker untuk membentuk sebuah aplikasi. Anda perlu mendefinisikan file konfigurasi docker-compose.yml dalam format YAML dan menulis hubungan panggilan antara beberapa container.Kemudian, hanya dengan satu perintah, Anda dapat memulai/menghentikan container ini secara bersamaan
Docker merekomendasikan agar kita hanya menjalankan satu layanan di setiap container. Karena container docker itu sendiri hanya menggunakan sedikit sumber daya, yang terbaik adalah memisahkan setiap layanan secara terpisah. Namun kemudian kita menghadapi masalah lain?
Jika saya perlu menerapkan beberapa layanan pada saat yang sama, apakah saya harus menulis Dockerfile terpisah untuk setiap layanan dan kemudian membangun image dan container? Ini melelahkan, jadi buruh pelabuhan secara resmi memberi kita alat penerapan multi-layanan penulisan buruh pelabuhan .
Misalnya, untuk mengimplementasikan proyek layanan mikro Web, selain kontainer layanan Web itu sendiri, sering kali perlu menambahkan kontainer layanan mysql database back-end, server redis, pusat registrasi eureka, dan bahkan kontainer penyeimbang beban, dll. . . . . .
Compose memungkinkan pengguna untuk menentukan sekumpulan container aplikasi terkait sebagai proyek melalui file template docker-compose.yml terpisah (format YAML).
Anda dapat dengan mudah mendefinisikan aplikasi multi-kontainer dengan file konfigurasi, lalu menggunakan satu perintah untuk menginstal semua dependensi aplikasi dan menyelesaikan pembangunan. Docker-Compose memecahkan masalah bagaimana mengelola dan mengatur container.
Alamat pengunduhan yang dipercepat
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
Tambahkan izin yang dapat dieksekusi
chmod +x /usr/local/bin/docker-compose
Periksa apakah instalasi berhasil
docker-compose --version
hapus instalan
sudo rm / usr/ local/ bin/docker-compose
Tiga langkah untuk menggunakan Compose
Tulis Dockerfile untuk mendefinisikan setiap aplikasi layanan mikro dan membuat file gambar yang sesuai
Gunakan docker-compose.yml untuk mendefinisikan unit bisnis lengkap dan mengatur berbagai layanan kontainer di keseluruhan aplikasi.
Terakhir, jalankan perintah docker-compose up untuk memulai dan menjalankan seluruh aplikasi untuk menyelesaikan penerapan satu klik dan online.
Buat perintah umum
docker-compose -h # Lihat bantuan
docker-compose up # Mulai semua layanan docker-compose
docker-compose up -d # Mulai semua layanan docker-compose dan jalankan di latar belakang
docker-compose down # Hentikan dan hapus container, jaringan, volume, dan gambar.
Id layanan di docker-compose exec yml # Masuk ke dalam instance container
docker-compose exec docker-compose.yml file tertulis id layanan /bin/bash
docker-compose ps # Menampilkan semua container yang sedang berjalan yang saat ini diatur oleh docker-compose
docker-compose top # Menampilkan proses container saat ini yang diatur oleh docker-compose
Id layanan di log penulisan buruh pelabuhan yml # Lihat log keluaran kontainer
konfigurasi docker-compose # Periksa konfigurasi
docker-compose config -q # Periksa konfigurasi dan output hanya jika ada masalah
docker-compose restart # Mulai ulang layanan
mulai pembuatan buruh pelabuhan # Mulai layanan
docker-compose stop # Hentikan layanan
instalasi perintah mesin buruh pelabuhan
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) Di mesin virtual Linux, konfigurasikan alamat IP ke 192.168.90.215 (x adalah 3 digit terakhir ID pelajar Anda, y ditentukan sendiri), dan mesin virtual dapat mengakses Internet secara normal;
2) Konfigurasikan server DNS, domainnya adalah cr.com (abc adalah inisial nama Anda), setelah konfigurasi selesai, gunakan nslookup untuk memverifikasi resolusi maju dan mundur;
3) Konfigurasikan LEMP (yaitu Nginx + MySQL (MariaDB) + PHP), dan akses www.cr.com (abc adalah inisial Anda) melalui host sebenarnya untuk mengakses LEMP yang dibangun. (Anda tidak dapat mengubah file host untuk resolusi lokal, tetapi harus menggunakan DNS Anda sendiri yang dikonfigurasi)
Konfigurasikan terlebih dahulu IP statis untuk Linux http://alleniverrui.top/archives/linux-pei-zhi-jing-tai-ip (jika tidak bisa dibuka, ubah alamat di bawah)
//melakukan
Edit berkas /etc/named.conf
vim /etc/named.conf
Ubah nilai pendengaran dan kueri menjadi apa saja
Konfigurasikan dns untuk menyelesaikan cr.com ke 192.168.90.215
vim /etc/named.rfc1912.zones
Tambahkan di akhir file
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 untuk menyimpan
Edit file konfigurasi yang sesuai vim /var/named/com.cr.loop
Tambahkan yang berikut ini
$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.
Sunting vim /var/named/cr.com.zone
Tambahkan yang berikut ini
$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
Mulai ulang DNS
systemctl restart named
Lihat status DNS
systemctl status named
Dimulai dengan sukses
Meneruskan penguraian nslookup cr.com
Penguraian terbalik nslookup 192.168.90.215
Tulis file docker-compose.yml ke /mydocker/lemp
vim /mydocker/lemp/docker-compose.yml isi konten berikut
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
Buat nginx/Dockerfile di /mydocker/lemp/
mengisi
FROM nginx:latest
COPY ./default.conf /etc/nginx/conf.d/default.conf
Buat default.conf
Isi konten berikut
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;
}
}
Buat php/Dockerfile di /mydocker/lemp/
mengisi
FROM php:7.0-fpm
RUN docker-php-ext-install mysqli
Mengatur kontainer buruh pelabuhan
docker-compose up -d
Docker ps untuk melihat status container berjalan
Berhasil dimulai
Mesin ini mengakses lingkungan php dan lingkungan nginx melalui IP
Akses berhasil
Konfigurasikan server dns lokal sebagai mesin virtual, yaitu 192.168.90.215
Buka jendela cmd dan lakukan tes ping di cr.com
Berhasil melakukan ping
Akses lingkungan php yang dibangun melalui nama domain
Ubah file konfigurasi nginx
Nama domain akhir langsung mengakses situs web