Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk memulakan slogan dalam docker

Bagaimana untuk memulakan slogan dalam docker

PHPz
PHPzasal
2023-04-26 10:28:136903semak imbas

Docker ialah platform kontena sumber terbuka yang membolehkan pembangun mencipta, menggunakan dan menjalankan aplikasi, menjadikan proses pembangunan, penggunaan dan operasi serta penyelenggaraan lebih mudah dan cekap. Apabila pembangun menjalankan aplikasi dalam bekas Docker, mereka kadangkala perlu membuka port tertentu aplikasi.

Port terbuka membenarkan komputer lain pada rangkaian mengakses aplikasi dalam bekas Docker yang sedang berjalan. Di dalam bekas Docker, aplikasi boleh mendengar pada satu atau lebih port. Sebagai contoh, pelayan web biasanya mendengar pada port 80. Jika port tidak dibuka dengan betul, komputer luaran tidak akan dapat menyambung ke aplikasi.

Docker menyediakan berbilang kaedah untuk membuka dan mengurus port. Dalam artikel ini, kami akan meneroka beberapa cara berbeza untuk membuka dan mengurus port dalam bekas Docker.

Gunakan arahan docker run untuk membuka port

Pembangun boleh menggunakan arahan Docker run untuk membuka port. Apabila mencipta bekas baharu, anda boleh menggunakan pilihan -p untuk menentukan port untuk dibuka. Pilihan ini membenarkan pemetaan port di dalam bekas ke port pada hos.

Sebagai contoh, kita boleh memulakan bekas pelayan web Nginx baharu dan memetakan port 80 dalam bekas ke port 8000 hos menggunakan arahan berikut:

docker run -d -p 8000:80 nginx

Dalam arahan di atas , -d pilihan digunakan untuk menentukan bekas untuk dijalankan di latar belakang. Pilihan -p digunakan untuk menentukan port yang akan dipetakan.

Buka port menggunakan fail docker-compose

Docker Compose ialah alat untuk mentakrif dan menjalankan aplikasi Docker berbilang bekas. Menggunakan Docker Compose, pembangun boleh mentakrifkan struktur dan kebergantungan aplikasi berbilang bekas menggunakan fail docker-compose.yml. Setiap bekas dalam aplikasi kontena mempunyai portnya sendiri dan Docker Compose menyediakan cara mudah untuk mengurus port ini.

Dalam fail Docker Compose, pembangun boleh menentukan pemetaan port untuk setiap bekas. Sebagai contoh, berikut ialah fail Docker Compose yang mentakrifkan pelayan web dan bekas pangkalan data dan memetakan port mereka ke port hos:

version: "3.7"
services:
  web:
    build: .
    ports:
      - "8000:80"
  db:
    image: mysql:5.7
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: pass

Dalam fail Docker Compose di atas, bekas web akan Berjalan pada port 8000 hos dan petakan port kontena 80 ke port hos. Begitu juga, bekas db akan berjalan pada port 3306 hos dan memetakan port 3306 kontena ke port hos.

Gunakan Dockerfile untuk membuka port

Dockerfile ialah fail skrip yang digunakan untuk membina imej Docker secara automatik. Dalam Dockerfile, pembangun boleh menentukan port untuk dibuka dan tetapan lain yang berkaitan. Apabila anda menggunakan Dockerfile untuk membina imej Docker, Docker akan menggunakan arahan dalam Dockerfile untuk membuka port.

Berikut ialah Dockerfile mudah untuk membina imej pelayan web Nginx berasaskan Ubuntu dan membuka port:

FROM ubuntu:18.04
RUN apt-get update && apt-get install nginx -y
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Dalam Dockerfile di atas, arahan EXPOSE digunakan untuk menentukan buka pelabuhan Pelabuhan ialah 80. Selepas membina imej ini, aplikasi akan dijalankan pada port 80 bekas.

Ringkasan

Dalam artikel ini, kami membincangkan beberapa cara berbeza untuk membuka dan mengurus port dalam bekas Docker. Menggunakan arahan docker run, Docker Compose dan Dockerfile, pembangun boleh membuka port yang diperlukan dengan mudah dan membolehkan aplikasi menyambung dengan komputer lain pada rangkaian. Apabila pembangun menjalankan aplikasi dalam bekas Docker, adalah sangat penting untuk membuka port dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk memulakan slogan dalam docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn