Dockerfile構建beego鏡像

2021-02-24 聽雨諾言
Beego是Go語言下用戶使用比較多的Web框架,國人開發,中文文檔完善,本文通過Docker搭建一個簡單的Beego鏡像,記錄一次學習的摸索流程。Window、Linux、Mac下Beego環境的快速安裝流程:
go get github.com/astaxie/beegogo get github.com/beego/bee

Docker中也可以根據以上流程快速安裝Beego鏡像,通過Dockerfile編寫構建文件。

FROM golang:latest RUN go get -u -v github.com/astaxie/beego && \    go get -u -v github.com/beego/beeRUN cd $GOPATH/src && bee new shopWORKDIR $GOPATH/src/shopEXPOSE 8080CMD ["bee","run"]--參數注釋--FROM 所構建的鏡像需要依賴的基礎鏡像 必須由FROM開始--RUN 運行指令--WORKDIR 指定項目工作目錄路徑--EXPOSE 暴露鏡像埠號--CMD 命令行執行指令 鏡像被啟動後執行

使用docker build構建鏡像

docker build -t beego .--參數注釋-t 指定鏡像標籤名稱及版本號 規範寫法:tag:01.  指定當前目錄下的Dockerfile文件

運行beego鏡像

docker run --name beego_01 -p 8080:8080 -d beego

進入beego_01容器

docker exec -it beego_01 /bin/bash

在瀏覽器中輸入http://localhost:8080即可訪問到項目站點。

相關焦點

  • 基於Dockerfile構建容器鏡像的最佳實踐
    例如,放任各路repo研發自行寫Dockerfile,沒有一定的標準,前期可能無所謂,到後期問題就慢慢浮現了正所謂《能用就行》~3、Dockerfile 如何優化3.1 從哪裡入手優化docker鏡像應該從鏡像分層概念入手3.1.1 舉個慄子
  • 構建完美的 Python Dockerfile
    它還包含對 gunicorn 的特殊優化,以更快更安全地構建。動機由於系統必須非常經濟高效,我想確保底層 docker 鏡像不會產生過多的開銷。要將鏡像用作緩存源,需要在創建時將緩存元數據寫入鏡像。這可以通過「--build-arg BUILDKIT_INLINE_CACHE=1」在構建鏡像時設置來完成。之後,構建的鏡像可以用作後續構建的緩存源。
  • Docker 鏡像的構建原理和四種製作鏡像方式
    Docker 鏡像的構建原理和方式Docker構建鏡像的方式有多種,先介紹下最常用的兩種通過docker commit命令,基於一個已存在的容器構建出鏡像。編寫 Dockerfile 文件,並使用docker build命令來構建鏡像。
  • Docker系列教程04-Docker構建鏡像的三種方式
    簡介創建鏡像的方法主要有三種:基於已有鏡像的容器創建、基於本地模板導入、基於Dockerfile創建。今天就逐一講述為大家講述,如何構建屬於自己的docker鏡像。1、基於容器構建鏡像基於已有容器構建鏡像主要是通過docker commit命令來構建新的鏡像,語法規則如下:docker commit 語法下面將演示下如何基於已有容器構建鏡像1、首先,創建一個容器,並在其容器內創建一個test文件,之後退出。
  • 再見 Dockerfile,擁抱新型鏡像構建技術 Buildpacks
    同時運維團隊也會幹預鏡像的構建,如果基礎鏡像中有 CVE 被修復了,運維團隊就需要更新 Dockerfile,使用較新版本的基礎鏡像。總之,運維與研發都需要幹預 Dockerfile,無法實現解耦。由此可見 CNB 的鏡像構建方式更加標準化、自動化,與 Dockerfile 相比,Buildpacks 為構建應用提供了更高層次的抽象,Buildpacks 對 OCI 鏡像構建的抽象,就類似於 Helm 對 Deployment 編排的抽象。
  • Spring Boot 分層構建 Docker 鏡像實戰
    Docker 引擎構建的鏡像,一般 Docker 鏡像是由很多層組成,底層是作業系統,然後在其之上是基礎鏡像或者用戶自定義 Dockerfile 腳本中定義的中間層。要想了解這些層具體是什麼,那得知道如何構建 Docker 鏡像了。平時我們構建 Docker 鏡像時候,都是編寫 Dockerfile 腳本,然後使用 Docker 鏡像構建命令,按照腳本一行行執行構建。
  • 理解Docker的多階段鏡像構建
    對於已經接納和使用Docker技術在日常開發工作中的開發者而言,構建Docker鏡像已經是家常便飯。但這是否意味著Docker的image構建機制已經相對完美了呢?不是的,Docker官方依舊在持續優化鏡像構建機制。這不,從今年發布的Docker 17.05版本起,Docker開始支持容器鏡像的多階段構建(multi-stage build)了。什麼是鏡像多階段構建呢?
  • Docker 開發鏡像搭建與DockerFile分享
    但是對於arm 架構系統用戶來說,可能就有適配問題了開放性和擴展性:整個鏡像的製作過程是封閉的,使用方只能拿到具體的鏡像,無法了解到具體的構建過程,也無法對鏡像在構建過程進行擴展-- 比如我還想裝其他開發語言,依然只能手動裝,而且換臺電腦之後可能還得這麼來操作一次綜上,為了改進我們的開發鏡像的這兩點,通過 DockerFile
  • 如何使用Dockerfile創建鏡像
    5.EXPOSE該指令用於聲明監聽的埠號,在監聽是可以指定是TCP還是UDP協議,默認值為TCP,其主要有以下作用:幫助鏡像使用理解這個鏡像服務的守護埠,以方便配置映射。在運行時使用隨時埠映射,也就是docker run -P時,會自動隨機映射EXPOSE的埠。
  • 【長篇博文】Docker學習筆記(三):鏡像的分層、打包、雙向綁定、導入導出、Dockerfile的構建、部署與發布
    1.3、案例分析:tomcat二、提交自己的鏡像三、容器數據卷四、Dockerfile構建鏡像4.2.0、Dockerfile介紹4.2.1、Dockerfile構建過程4.2.2、Dockerfile構建命令4.2.3、實戰測試:構建Dockerfile4.2.4、Dockerfile
  • 構建安全可靠、最小化的 Docker 鏡像
    原文連接:構建安全可靠、最小化的 Docker 鏡像.1. 構建鏡像1.1 手動構建手動構建 Docker 鏡像的流程圖,如下:但是也非常麻煩,必須先創建新容器在提交變更,生成鏡像。整個過程完全可以通過腳本化處理,這也是下節要說的,自動化構建 Docker 鏡像。1.2 自動化構建1.2.1 Dockerfile 構建自動化構建 Docker 鏡像, Docker公司提供的不是 SHELL 腳本的方式,而是通過定義一套獨立的語法來描述整個構建過程, 通過該語法編輯的文件,稱為 Dockerfile。
  • 使用Gradle構建SpringBoot項目Docker鏡像
    使用Gradle快速構建SpringBoot項目Docker鏡像,將鏡像推送到阿里雲遠程鏡像倉庫。
  • 多平臺Docker鏡像構建教程
    那麼,你該如何為這些平臺構建鏡像?最明顯的方法是在目標平臺上構建鏡像。這適用於很多情況。但是如果你的目標是 s390x,我希望你有可以使用的 IBM 大型機。更常見的平臺,比如樹莓派、物聯網設備通常電量有限,速度慢或無法構建鏡像。我們該怎麼做?有兩個選項:1. 目標平臺仿真,2. 交叉編譯。有趣的是,我發現有種方法可以將這兩個選項結合的效果最好。
  • Docker 鏡像如何做到「一次構建,到處運行」?
    如果我們可以訪問目標架構硬體,同時作業系統上有我們所需的所有構建數據,那麼就可以直接在硬體上編譯應用程式。例如,對我們特定場景下構建多架構 Docker 鏡像,可以在樹莓派上安裝 Docker 運行時環境,然後和在開發機上一樣,直接在上面通過應用程式的 Dockerfile 構建鏡像。
  • SpringBoot 項目構建 Docker 鏡像調優實踐
    jar 文件大小:70.86mb2、準備 Dockerfile 文件構建 Docker 鏡像需要提前準備 Dockerfile 文件,這個 Dockerfile 文件中的內容為構建 Docker 鏡像執行的指令。
  • Dockerfile詳解
    Dockerfile是用來構建Docker鏡像的文本文件,也可以說是命令參數腳本。docker build命令用於從Dockerfile構建鏡像。可以在docker build命令中使用-f標誌指向文件系統中任何位置的Dockerfile。
  • 【超全教程】SpringBoot 2.3.x 分層構建 Docker 鏡像實踐
    目錄SpringBoot 2.3.x 新增對分層的支持普通鏡像構建腳本文件 dockerfile-number分層鏡像構建腳本文件 dockerfile-layer系統環境:Open JDK 基礎鏡像版本:openjdk:8u275私有的 Harbor 鏡像倉庫:自建 Harbor
  • Windows下構建Node.js的Docker Nano Server基礎鏡像
    當你開始嘗試寫Dockerfile往Docker鏡像中安裝一些軟體的時候,你會注意到這個最小化的系統帶來了新的挑戰。在Nano Server中無法安裝MSI安裝包。在Node.js官網上可以看到,會同時安裝npm的只有MSI的安裝包。因此我們如何才可以基於Nano Server構建Node.js的Docker鏡像呢?
  • 如何使用一個 Dockerfile 文件描述多個鏡像
    )了,使用多階段構建我們可以加速我們的鏡像構建,在一個 Dockerfile 文件中分不同的階段來處理鏡像。/app"]構建鏡像$ docker build -t go/helloworld:3 .這樣構建出來的鏡像容量也非常小。
  • Dockerfile編寫指北
    和docker run等簡單命令即可,但是為了滿足更多需求,一些個人應用的docker鏡像,就需要用dockerfile來創建。Dockerfile實戰Spring Boot項目創建一個最基礎的Spring boot項目,Dockerfile為我編寫的鏡像創建Dockerfile文件,apache-maven壓縮包為準備的maven包,通過ADD命令添加到鏡像內,sell為一個簡單的Spring boot代碼,埠8080。