Rumah >Operasi dan penyelenggaraan >Docker >Cara menggunakan rangkaian maya docker
Docker ialah salah satu platform kontena paling popular pada masa ini, yang boleh memudahkan penggunaan dan pengurusan aplikasi. Salah satu ciri yang paling penting ialah rangkaian maya Docker, yang membantu pengguna mencipta berbilang bekas pada mesin fizikal yang berasingan dan bekerja secara kolaboratif sambil menyediakan pengasingan dan keselamatan rangkaian yang baik.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangkaian maya docker untuk membina komunikasi dan kebolehoperasian rangkaian antara bekas, dan juga memperkenalkan kepentingan pengasingan dan keselamatan rangkaian.
Pertama, kita perlu mencipta rangkaian maya docker. Anda boleh menggunakan arahan berikut untuk mencipta rangkaian maya bernama "my-network":
docker network create my-network
Selepas mencipta rangkaian, anda boleh menggunakan arahan berikut untuk menyenaraikan rangkaian maya docker semasa:
docker network ls
Hasil yang dijalankan adalah seperti berikut:
NETWORK ID NAME DRIVER SCOPE 6e8c0391c9ac bridge bridge local a8a551c45849 host host local d6a050011a56 my-network bridge local 69f86bb8f6bc none null local
Kini kami telah mencipta rangkaian maya bernama "rangkaian saya", yang boleh digunakan untuk mencipta bekas dan berkomunikasi.
Seterusnya, kami akan mencipta dua bekas dan menyambungkannya ke rangkaian maya "rangkaian saya" yang baru kami buat . Kami menggunakan parameter --network
untuk menyambungkan bekas ke rangkaian maya.
Gunakan arahan berikut untuk memulakan bekas bernama "pelayan web" dan sambungkannya ke rangkaian maya:
docker run --name webserver --network my-network -p 8080:80 -d nginx
Dalam arahan di atas, kami menggunakan imej "nginx" untuk Mencipta kami bekas. -p
Parameter memetakan port bekas docker "80" ke port mesin fizikal "8080".
Kami juga boleh mencipta bekas kedua dan menyambungkannya ke rangkaian maya menggunakan kaedah yang serupa:
docker run --name database --network my-network -e MYSQL_ROOT_PASSWORD=password -d mysql
Dalam arahan di atas, kami menggunakan imej "mysql" untuk mencipta bekas kami dan tetapkan kata laluan akar MySQL.
Kini kami telah mencipta dua bekas dan menyambungkannya ke rangkaian maya yang kami cipta.
Untuk menguji bahawa kontena kami berjaya berkomunikasi, kami boleh menggunakan halaman HTML ringkas dalam "pelayan web".
Mula-mula, kita masuk ke dalam bekas "pelayan web" dan pasang penyunting teks nano menggunakan arahan berikut:
docker exec -it webserver apt-get update docker exec -it webserver apt-get install nano
Kemudian, kami mencipta halaman index.html mudah menggunakan teks nano editor:
docker exec -it webserver nano /usr/share/nginx/html/index.html
Dalam halaman, kami menambah kandungan berikut:
<!DOCTYPE html> <html> <head> <title>Welcome to my website</title> </head> <body> <p>Hello from webserver!</p> <?php $servername = "database"; $username = "root"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully to database"; ?> </body> </html>
Dalam kod di atas, kami menambah mesej teks pada halaman dan skrip PHP untuk disambungkan ke pangkalan data MySQL "pangkalan data" dalam bekas.
Sekarang, kita hanya boleh menggunakan URL berikut pada penyemak imbas web mesin fizikal untuk membuka halaman:
http://127.0.0.1:8080
Halaman akan menunjukkan "Hello dari pelayan web dan sambungan berjaya maklumat.
Sementara itu, jika kita menjalankan arahan "docker log database" pada bekas "database", kita akan melihat output berikut:
... Version: '5.7.22' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL) 2019-05-22T20:02:24.809716Z 0 [Note] Event Scheduler: Loaded 0 events Connected successfully to database
Ini menunjukkan bahawa komunikasi antara kedua-dua bekas OK, dan halaman ujian kami boleh berjaya menyambung ke pangkalan data MySQL pada bekas "pangkalan data".
Satu lagi peranan penting rangkaian maya docker ialah menyediakan pengasingan dan keselamatan rangkaian antara bekas yang berbeza. Contohnya, jika kami menjalankan kod hasad dalam bekas "pelayan web", ia tidak akan dapat mengakses dan menjejaskan bekas lain.
Selain itu, kami juga boleh menggunakan rangkaian maya docker untuk menyekat akses kontena ke rangkaian luaran. Sebagai contoh, kami boleh meningkatkan keselamatan aplikasi kami dengan mencipta rangkaian maya dan memastikan bahawa bekas hanya boleh berkomunikasi dengan bekas lain dalam rangkaian itu dan tidak boleh mengakses bekas lain di Internet.
Dalam artikel ini, kami memperkenalkan cara menggunakan rangkaian maya docker untuk menyambungkan bekas yang berbeza dan membolehkan komunikasi antara bekas. Kami juga mempelajari cara rangkaian maya docker menyediakan pengasingan dan keselamatan rangkaian.
Rangkaian maya ialah ciri yang sangat penting dalam docker, yang boleh digunakan untuk membina aplikasi kontena yang berkuasa dan menyediakan keselamatan yang baik. Jika anda membina aplikasi menggunakan docker, pastikan anda mempertimbangkan menggunakan rangkaian maya untuk meningkatkan keselamatan dan kecekapan aplikasi anda.
Atas ialah kandungan terperinci Cara menggunakan rangkaian maya docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!