Dengan pembangunan berterusan dan mempopularkan teknologi pengkomputeran awan, teknologi kontena sebagai teknologi penggunaan dan pengurusan yang baru muncul telah digunakan dan dipromosikan secara meluas. Sebagai salah satu penyelesaian kontena paling popular pada masa ini, Docker telah menjadi salah satu pilihan pertama untuk banyak perusahaan dan pembangun. Dalam pembangunan projek bahasa Go, cara menggunakan Docker untuk mencapai penggunaan pantas dan pengurusan juga telah menjadi topik penting.
Artikel ini akan memperkenalkan secara terperinci langkah dan kaedah khusus menggunakan Docker untuk mencapai penggunaan dan pengurusan pantas dalam projek bahasa Go, meliputi konsep asas Docker, arahan biasa dan beberapa amalan terbaik.
1. Konsep asas Docker
1 Imej
Imej Docker ialah fail statik yang mengandungi semua kebergantungan dan persekitaran yang diperlukan untuk menjalankan projek, serupa dengan imej untuk. mesin maya. Ia boleh dianggap sebagai templat baca sahaja Jika ia perlu diubah suai, ia perlu diubah suai semasa dijalankan dalam bekas.
2. Bekas (Bekas)
Bekas Docker ialah contoh berjalan yang dibuat daripada imej Docker Ia boleh dianggap sebagai keadaan masa jalan imej Docker, dengan sistem fail bebas. rangkaian, dsb. sumber, dan mempunyai kelebihan permulaan yang ringan dan cepat.
3. Repositori
Repositori Docker ialah sistem storan berpusat yang digunakan untuk menyimpan dan mengurus imej Docker. Ia terbahagi kepada dua jenis: awam dan peribadi. Antaranya, gudang awam Docker Hub ialah gudang cermin terbuka yang diselenggara secara rasmi oleh komuniti Docker Ia mengandungi sejumlah besar cermin yang biasa digunakan, termasuk pangkalan data, pelayan web, sistem pengendalian, bahasa pengaturcaraan dan jenis lain.
2. Perintah Common Docker
1.
nama imej carian docker: Cari imej pada Docker Hub. - nama imej tarik buruh pelabuhan: Muat turun imej yang ditentukan daripada Hub Docker.
- nama imej docker rmi: Padamkan imej pada hos tempatan yang ditentukan.
-
- 2. Perintah bekas docker
docker run -d image-name: Jalankan bekas di latar belakang.
dok ps: Senaraikan semua bekas yang sedang berjalan. - id bekas henti dok: Hentikan bekas yang sedang berjalan.
- id bekas docker start: Mulakan semula bekas yang dihentikan.
- docker rm container-id: Padamkan bekas yang dihentikan.
- id bekas log docker: Lihat log kontena.
- docker exec -it container-id /bin/sh: Laksanakan arahan dalam bekas.
-
- 3. Gunakan penggunaan Docker dalam projek bahasa Go
1 Write Dockerfile
Dockerfile ialah fail teks yang digunakan untuk mencipta imej Docker. Ia termasuk satu siri perintah berasaskan sistem pengendalian dan beberapa arahan tersuai untuk menentukan peraturan pembinaan imej Docker dan program yang perlu dijalankan. Dalam projek bahasa Go, kita perlu menentukan persekitaran kompilasi dan arahan permulaan program Go.
Contohnya:
# 指定基础镜像
FROM golang:alpine
# 指定程序工作目录
WORKDIR /app
# 将当前目录下的代码复制到容器中的/app目录下
COPY . /app
# 构建Go程序
RUN go build -o main .
# 启动Go程序
CMD ["/app/main"]
Salin selepas log masuk
2 Bina imej Docker
Dalam direktori akar projek bahasa Go, laksanakan arahan berikut:
docker build -t image-name .
Salin selepas log masuk
Di mana, nama imej menentukan nama imej Docker, .
3. Jalankan bekas Docker
docker run -d -p host-port:container-port image-name
Salin selepas log masuk
Antaranya, port-host menentukan nombor port hos, port kontena menentukan nombor port kontena dan nama imej menentukan nama imej Docker.
4. Amalan Terbaik
1 Gunakan binaan berbilang peringkat
Apabila membina imej Docker dalam projek bahasa Go, anda boleh menggunakan kaedah binaan berbilang peringkat, iaitu, dalam Dockerfile masing-masing Menentukan persekitaran kompilasi dan penggunaan boleh mengurangkan saiz imej Docker dan meningkatkan kecekapan muat turun imej, tolak dan penggunaan.
Contohnya:
# 编译阶段
FROM golang:alpine AS builder
WORKDIR /go/src/app
COPY . .
RUN go build -o app .
# 部署阶段
FROM alpine:latest
COPY --from=builder /go/src/app/app /app/
CMD ["/app/app"]
Salin selepas log masuk
2 Gunakan Docker Compose untuk mengurus berbilang bekas
Docker Compose ialah alat baris arahan untuk mengurus berbilang bekas, yang boleh diuruskan melalui satu bekas. fail docker-compose.yml untuk mentakrif dan menjalankan berbilang bekas, menjadikan penggunaan aplikasi berbilang bekas lebih mudah dan mudah.
Contohnya:
version: '3'
services:
web:
build: .
ports:
- "8080:8080"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: password
Salin selepas log masuk
Antaranya, web dan db ialah nama perkhidmatan, binaan menentukan kaedah pembinaan imej Docker atau nama imej, port menentukan pemetaan port, dan persekitaran menentukan pembolehubah persekitaran.
Ringkasan
Menggunakan Docker sebagai penyelesaian kontena boleh menjadikan penggunaan dan pengurusan projek bahasa Go lebih cekap dan mudah. Artikel ini memperkenalkan secara terperinci kaedah dan langkah khusus menggunakan Docker untuk penggunaan dan pengurusan dalam projek bahasa Go daripada tiga aspek: konsep asas Docker, arahan biasa dan amalan terbaik saya harap ia dapat membantu pembaca.
Atas ialah kandungan terperinci Gunakan Docker dalam bahasa Go untuk mencapai penggunaan dan pengurusan yang pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!