Rumah > Artikel > Operasi dan penyelenggaraan > Docker dan Linux: Bagaimana untuk menggunakan bekas untuk penghantaran aplikasi yang berterusan?
Docker dan Linux: Bagaimana menggunakan bekas untuk penghantaran aplikasi yang berterusan?
Dengan perkembangan pesat pengkomputeran awan dan teknologi kontena, menggunakan bekas untuk penghantaran aplikasi yang berterusan telah menjadi salah satu kaedah penting dalam pembangunan perisian moden. Sebagai salah satu platform kontena yang paling popular, Docker digunakan secara meluas dalam persekitaran Linux. Artikel ini akan memperkenalkan cara menggunakan Docker dan Linux untuk melaksanakan penghantaran berterusan aplikasi dan menyediakan contoh kod yang sepadan.
Mula-mula, kita perlu memasang Docker dalam persekitaran Linux. Untuk kaedah pemasangan khusus, sila rujuk dokumentasi rasmi atau tutorial berkaitan.
Selepas pemasangan selesai, kita perlu mengkonfigurasi persekitaran Docker. Untuk meningkatkan ketersediaan kontena, Docker Swarm boleh digunakan untuk melaksanakan kelompok kontena. Berikut ialah contoh mudah:
# 初始化Swarm docker swarm init # 创建一个专属网络 docker network create -d overlay mynetwork # 在Swarm中部署服务 docker service create --name webapp --network mynetwork -p 80:80 mywebapp
Dalam contoh di atas, kami menggunakan perintah docker swarm init
untuk memulakan Swarm dan mencipta rangkaian bernama mynetwork
. Kemudian, gunakan perintah docker service create
untuk menggunakan perkhidmatan bernama webapp
dalam Swarm yang menggunakan rangkaian mynetwork
dan tambah aplikasi Map ke port 80 daripada tuan rumah. docker swarm init
命令初始化Swarm,并创建了一个名为mynetwork
的网络。然后,使用docker service create
命令在Swarm中部署了一个名为webapp
的服务,该服务使用mynetwork
网络,并将应用程序映射到主机的80端口。
接下来,我们需要创建Docker镜像,以便在容器中运行应用程序。Docker镜像是一个只读的模板,它包含了运行应用程序所需的一切。
通常,我们可以使用Dockerfile来定义我们的镜像。以下是一个简单的示例:
FROM python:3.9-alpine COPY requirements.txt /app/requirements.txt WORKDIR /app RUN pip install -r requirements.txt COPY . /app CMD ["python", "app.py"]
上述示例中,我们使用Python 3.9的Alpine版本作为基础镜像。然后,我们将requirements.txt
文件复制到容器中的/app
目录,并使用pip
安装所需的依赖。最后,我们将整个应用程序复制到容器中,并定义了容器启动时的命令。
完成Dockerfile的编写后,我们可以使用docker build
命令来构建镜像:
docker build -t mywebapp .
上述命令会构建一个名为mywebapp
的镜像,并根据Dockerfile中的定义来运行构建过程。
构建完成后,我们可以使用docker push
命令将镜像发布到镜像仓库:
docker push mywebapp
在这一步,我们可以使用Docker Hub等公共镜像仓库,也可以搭建自己的私有仓库。
当镜像构建并发布完成后,我们可以使用docker run
命令来在本地或远程主机上运行容器。
docker run -p 80:80 mywebapp
上述命令会在本地主机上启动一个容器,并将容器的80端口映射到主机的80端口。 这样,我们就可以通过访问主机的80端口来访问应用程序。
使用Docker和Linux,我们可以实现应用程序的持续交付。下面是一个简单的示例脚本,用于自动化部署应用程序:
#!/bin/bash # 拉取最新代码 git pull origin main # 停止并删除旧的容器 docker stop mywebapp docker rm mywebapp # 构建并发布新的镜像 docker build -t mywebapp . docker push mywebapp # 运行新的容器 docker run -p 80:80 --name mywebapp -d mywebapp
上述脚本中,我们首先拉取最新的代码,并停止并删除旧的容器。然后,我们重新构建和发布新的镜像,并使用docker run
Seterusnya, kita perlu mencipta imej Docker untuk menjalankan aplikasi dalam bekas. Imej Docker ialah templat baca sahaja yang mengandungi semua yang diperlukan untuk menjalankan aplikasi.
Biasanya, kita boleh menggunakan Dockerfile untuk menentukan imej kita. Berikut ialah contoh mudah:
rrreeeDalam contoh di atas, kami menggunakan versi Alpine Python 3.9 sebagai imej asas. Kemudian, kami menyalin fail requirements.txt
ke direktori /app
dalam bekas dan menggunakan pip
untuk memasang kebergantungan yang diperlukan. Akhir sekali, kami menyalin keseluruhan aplikasi ke dalam bekas dan menentukan arahan apabila bekas bermula.
docker build
untuk membina imej: 🎜rrreee🎜The arahan di atas akan membina nama Be the image of mywebapp
dan menjalankan proses binaan mengikut definisi dalam Dockerfile. 🎜🎜Selepas binaan selesai, kita boleh menggunakan perintah docker push
untuk menerbitkan imej ke gudang cermin: 🎜rrreee🎜Dalam langkah ini, kita boleh menggunakan gudang cermin awam seperti Docker Hub, atau kita boleh membina gudang persendirian kita sendiri. 🎜docker run
untuk menjalankan bekas pada hos setempat atau jauh. 🎜rrreee🎜Arahan di atas akan memulakan bekas pada hos tempatan dan memetakan port kontena 80 ke port hos 80. Dengan cara ini, kita boleh mengakses aplikasi dengan mengakses port 80 mesin hos. 🎜docker run
untuk menjalankan bekas baharu. 🎜🎜Menggunakan skrip di atas, kami boleh mengautomasikan proses penghantaran berterusan permohonan. 🎜🎜Ringkasan🎜🎜Artikel ini memperkenalkan cara menggunakan Docker dan Linux untuk mencapai penghantaran aplikasi yang berterusan. Dengan menggunakan platform kontena dan skrip penggunaan automatik, kami boleh membina, mengeluarkan dan menjalankan aplikasi dengan cepat dan boleh dipercayai. Dengan cara ini, kami dapat memenuhi keperluan pengguna dengan lebih baik sambil meningkatkan produktiviti pembangun. 🎜🎜Melalui latihan dan penyelidikan lanjut, kami boleh meneroka lebih banyak senario aplikasi Docker dan Linux dalam penghantaran berterusan, dan terus mengoptimumkan serta menambah baik proses penghantaran kami. Kami menggalakkan pembangun untuk bereksperimen secara aktif dan berkongsi pengalaman dan pengajaran mereka untuk mempromosikan pembangunan seluruh komuniti pembangunan perisian. 🎜Atas ialah kandungan terperinci Docker dan Linux: Bagaimana untuk menggunakan bekas untuk penghantaran aplikasi yang berterusan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!