Lemp (Linux, Nginx, MySQL, Php7) Stack Docker Image Deployment

Lemp (Linux, Nginx, MySQL, Php7) Stack Docker Image Deployment

Mengenai

Docker Build Automatik Lemp gambar linuxconfig/lemp-php7 boleh digunakan sebagai ujian dan juga sebagai persekitaran pengeluaran untuk aplikasi PHP yang dinamik. Ia terdiri daripada Debian GNU/Linux, Webserver Nginx yang ringan dan kuat, Sistem Pengurusan Pangkalan Data MySQL Relational dan PHP Scripting Language.

Pada masa penulisan, Debian Linux tidak datang dengan Php 7 sebagai sebahagian daripada repositori standardnya. Dari sebab ini Php 7 disusun dari kod sumber semasa membina imej docker menggunakan Compile-PHP-Debian skrip terletak di https: // github.com/linuxconfig/compile-php-debian.

Selain itu, tidak semua modul PHP pihak ke-3 kini disokong pada Php 7.

Penggunaan

Bahagian berikut menerangkan penggunaan linuxconfig/lemp-php7 Docker di Host Docker anda. Mari 'Mula dengan membuat laman web PHP Contoh dengan pemegang sambungan MySQL. Sebagai alternatif tambah phpinfo (); ke dalam campuran untuk memaparkan halaman maklumat PHP semasa:

 

Simpan kod di atas ke indeks.php fail dan dalam yang baru html direktori. Sebagai alternatif,html Direktori mungkin mengandungi permohonan PHP yang anda inginkan:

$ mkdir html $ vi html/indeks.Php $ ls html/ indeks.php 

Pada peringkat ini kami bersedia untuk digunakan linuxconfig/lemp-php7 Gambar Docker:

# docker run --name = Lemp -dp -v $ pwd/html:/var/www/html linuxconfig/lemp -php7 8306ab0e404e5e5ce4f17731f88a610f7f8bc939bc07bc075bc075bc075bc0746b5bc0746b 

Dengan melaksanakan arahan di atas yang telah kami buat dan memulakan bekas Docker baru lemp. Pada masa yang sama kami juga telah memasang Direktori Pembangunan Laman Web kami html Sebagai direktori root nginx. Kedua -duanya, port mysql dan nginx kini terikat ke pelabuhan rawak sistem tuan rumah.

Kedua -dua pelabuhan tempatan kini boleh digunakan untuk mengakses perkhidmatan MySQL dan Nginx:

# Docker Port Lemp 3306/TCP -> 0.0.0.0: 32772 80/TCP -> 0.0.0.0: 32773 

Akses nginx

Pada peringkat ini Nginx Webserver dan laman web kami boleh diakses melalui port yang diberikan oleh $ sudo docker port lemp perintah. Gunakan baris arahan atau penyemak imbas anda untuk menavigasi ke http: // localhost: 32773 URL:

# curl -i http: // localhost: 32773 http/1.1 200 OK pelayan: nginx/1.6.2 Tarikh: Sun, 01 Jan 2017 22:51:58 Kandungan GMT-Jenis: Teks/HTML; charset = UTF-8 Pengekodan pemindahan: Sambungan Chunked: Keep-Alive X-Powered-By: PHP/7.1.0 Kejayaan: Sambungan yang betul ke MySQL telah dibuat! Maklumat Hos: 127.0.0.1 melalui TCP/IP 

Akses MySQL

Pangkalan data MySQL boleh diakses melalui admin kata laluan pengguna dan lalai lulus. Seperti sebelum ini, pertama kita perlu mendapatkan nombor port sistem tuan rumah yang dikaitkan dengan pangkalan data MySQL dalam imej docker dengan menggunakan $ sudo docker port lemp perintah. Seterusnya, kita boleh menyambung ke pangkalan data:

$ mysql -uadmin -paps -h 127.0.0.1 -p32772 Selamat datang ke monitor MySQL. Perintah berakhir dengan; atau \ g. ID sambungan mysql anda ialah 15 versi pelayan: 5.5.53-0+Deb8u1 (Debian) Hak Cipta (c) 2000, 2016, Oracle dan/atau sekutunya. Hak cipta terpelihara. Oracle adalah tanda dagangan berdaftar Oracle Corporation dan/atau sekutunya. Nama lain mungkin menjadi tanda dagangan pemilik masing -masing. Taipkan 'bantuan;' atau '\ h' untuk mendapatkan bantuan. Taipkan '\ c' untuk membersihkan pernyataan input semasa. mysql> 

Php 7

Seperti yang telah disebutkan di atas, Php 7 disusun dari cawangan php 7 pendarahan. Keseluruhan pemasangan dilakukan /usr/tempatan/php-version/ direktori. Dari alasan ini untuk mengakses baris arahan php binari anda sama ada menjalankannya dengan jalan penuh:

# Docker Exec -It Lemp/USR/Local/PHP -7.1.0/bin/php -v php 7.1.0 (CLI) (Dibina: 1 Jan 2017 21:33:40) (NTS) Hak Cipta (c) 1997-2016 Kumpulan PHP Zend Engine v3.1.0-dev, hak cipta (c) 1998-2016 Zend Technologies dengan Zend Opcache V7.1.0, Hak Cipta (c) 1999-2016, oleh Zend Technologies 

atau termasuk /usr/local/php-7.1.0/bin/ Sebagai sebahagian daripada anda Jalan Pembolehubah Alam Sekitar.

Maklumat tambahan

Dapatkan senarai modul PHP 7 yang diaktifkan

# Docker Exec -It Lemp/USR/Local/PHP -7.1.0/bin/php -m [PHP Modul] bcmath bz2 kalendar teras ctype curl date dba dom exif fileinfo filter ftp gd gettext hash iconv intl json libxml mbstring mcrypt mysqli mysqlnd mysqlnd openssl pcndsl pholylsl phoSl phoSl pcndsl pcndsl pcndsl pcndlsl pcndsl pcndsl pcndsl pcndsl pcndsl pcndsl pcnd pcnd pcndsl SOCKETS SPL SQLITE3 SYSVMSG SYSVSEM SYSVSHM TOKENIZER WDDX XML XMLREADER XMLWRITER ZEND OPCACHE ZIB ZLIB [Zend Modul] 

Akses kontena

Semasa anda lemp Container sedang berjalan ia boleh diakses oleh:

$ sudo docker exec -it lemp/bin/bash root@8306ab0e404e:/# 

Tetapkan semula kata laluan pengguna mysql

Perintah di bawah akan menetapkan kata laluan baru 123untukadmin Pengguna:

# mysql mysql> tetapkan kata laluan untuk 'admin'@'%' = password ('123'); 

Mulakan semula tumpukan LEMP

$ sudo docker exec exvisor perkhidmatan LEMP mulakan semula 

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Ubuntu 20.04: WordPress dengan pemasangan nginx
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Cara Memasang Stack Lemp pada Almalinux
  • Pasang mysql di Ubuntu 20.04 LTS Linux
  • Gelung bersarang dalam skrip bash
  • Cara Memasang MySQL di Almalinux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Senarai alat Kali Linux terbaik untuk ujian penembusan dan ..