點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!!!
命令格式:docker build [OPTIONS] PATH | URL | -
注意:
docker bulid -t builder/first_image:1.0 /docker/docker_build
對于需要編譯的應用(如C、Go或Java語言等)來說,通常情況下至少需要準備兩個環(huán)境的 Docker鏡像:
package main
import "fmt"
func main(){
fmt.Println("Hello Docker!")
}
# define stage name as builder
FROM golang:latest as builder
RUN mkdir -p /go/src/test
WORKDIR /go/src/test
COPY main.go .
RUN CGO_ENABLED=0 GOOS=linux go build -o app .
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
# copy file from the builder stage
COPY --from=builder /go/src/test/app .
CMD ["./app"]
docker run builder/test_multistage:1.0
盡量讓每個鏡像的用途集中單一,避免構(gòu)造大而復雜、多功能的鏡像;
容器的核心是應用。選擇過大的父鏡像(如 Ubuntu系統(tǒng)鏡像)會造成最終生成應用鏡像的臃腫,推薦選用瘦身過的應用鏡像(如node:s1im),或者較為小巧的系統(tǒng)鏡像(如 alpine、 busybox或 debian);
Dockerfile也是一種代碼,需要考慮方便后續(xù)的擴展和他人的使用;
使用明確的版本號信息,如1.0,2.0,而非依賴于默認的latest。通過版本號可以避免環(huán)境不一致導致的問題;
盡量合并RUN、ADD和COPY指令。通常情況下,多個RUN指令可以合并為一條RUN指令;
通過多步驟創(chuàng)建,可以將編譯和運行等過程分開,保證最終生成的鏡像只包括運行應用所需要的最小化環(huán)境。當然,用戶也可以通過分別構(gòu)造編譯鏡像和運行鏡像來達到類似的結(jié)果,但這種方式需要維護多個;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129337.html
摘要:如果有服務器需要維護重啟時,也會重啟,此時端口會發(fā)生變化,仍然會隨機拿一個沒有使用的端口號來和號端口做端口映射。除非該刪掉后,端口號會被分配給其他使用。 Dockerfile Docker是軟件工業(yè)上的集裝箱技術(shù)。 通過以下文件制作Docker鏡像 [root@Optimus docker-training]# cd centos7/ [root@Optimus centos7]# l...
摘要:分鐘快速入門教程一歡迎來到世界與虛擬化在沒有的時代,我們會使用硬件虛擬化虛擬機以提供隔離。倉庫分為公開倉庫和私有倉庫,最大的公開倉庫是官方倉庫,國內(nèi)的公開倉庫也有很多選擇,例如阿里云等。 30 分鐘快速入門 Docker 教程 一、歡迎來到 Docker 世界 1. Docker 與虛擬化 在沒有 Docker 的時代,我們會使用硬件虛擬化(虛擬機)以提供隔離。這里,虛擬機通過在操作系...
摘要:用法在當中只有最后一條生效,其他都不生效第一種寫法類似數(shù)組形式,推薦使用。第二章方法執(zhí)行命令啟動的進程,該進程的為執(zhí)行完這個的。命令覆蓋掉了中的命令,直接進入到了中。刪除鏡像前,先停止。 ENTRYPOINT用法showImg(https://segmentfault.com/img/bVXNu5?w=702&h=322); entrypoint在dockerfile當中只有最后一條生...
摘要:構(gòu)建鏡像時,首先要有一個基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個應用鏡像。現(xiàn)在作為基礎(chǔ)鏡像,下面來構(gòu)建兩個中間件鏡像鏡像具有和能力的鏡像。同時,用文件覆蓋默認的配置文件。構(gòu)建鏡像查看鏡像以上鏡像已經(jīng)做好了。 以上已經(jīng)構(gòu)建好了一個基礎(chǔ)的docker鏡像centos7。 構(gòu)建docker鏡像時,首先 要有一個基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個應用鏡像。 現(xiàn)在centos7作為基礎(chǔ)鏡...
摘要:構(gòu)建鏡像時,首先要有一個基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個應用鏡像。現(xiàn)在作為基礎(chǔ)鏡像,下面來構(gòu)建兩個中間件鏡像鏡像具有和能力的鏡像。同時,用文件覆蓋默認的配置文件。構(gòu)建鏡像查看鏡像以上鏡像已經(jīng)做好了。 以上已經(jīng)構(gòu)建好了一個基礎(chǔ)的docker鏡像centos7。 構(gòu)建docker鏡像時,首先 要有一個基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個應用鏡像。 現(xiàn)在centos7作為基礎(chǔ)鏡...
閱讀 1353·2023-01-11 13:20
閱讀 1699·2023-01-11 13:20
閱讀 1211·2023-01-11 13:20
閱讀 1902·2023-01-11 13:20
閱讀 4161·2023-01-11 13:20
閱讀 2748·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3664·2023-01-11 13:20