日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker使用Dockerfile构建简单镜像

發(fā)布時間:2025/3/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker使用Dockerfile构建简单镜像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker使用Dockerfile構建簡單鏡像

首先確保系統已經安裝docker

構建鏡像

安裝基礎鏡像

sudo docker pull ubuntu

查看鏡像是否已經拉取成功

REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 452a96d81c30 4 weeks ago 79.6 MB centos latest e934aafc2206 7 weeks ago 199 MB

編寫Dockerfile

touch Dockerfile FROM ubuntuCOPY demo_api /usr/local/binEXPOSE 9899CMD ["/usr/local/bin/demo_api"]

這個配置文件的意思是

  • 基礎鏡像為ubuntu
  • 將本地的demo_api二進制文件拷貝到/usr/local/bin下
  • 暴露9899端口
  • CMD執(zhí)行這個二進制文件

EXPOSE 用來暴露端口,格式為:EXPOSE <端口1> [<端口2>……]
值得注意的是,EXPOSE 只是聲明運行容器時提供的服務端口,這僅僅是一個聲明,在運行容器的時候并不會因為這個聲明就會開啟端口服務,你依舊需要使用 -P 或者 -p 參數映射端口。在 Dockerfile 中寫這樣的端口聲明有助于使用者理解這個鏡像開放哪些服務端口,以便配置映射。并且,可以在 docker run 命令執(zhí)行的時候使用 -P 參數隨機映射宿主主機端口到 EXPOSE 的容器端口。

構建鏡像

gorden@sung:~$ sudo docker build -t demoapi:v1.0 . Sending build context to Docker daemon 7.448 MB Step 1/4 : FROM ubuntu---> 452a96d81c30 Step 2/4 : COPY demo_api /usr/local/bin---> 44e68b440b1b Removing intermediate container e7db3b02db3c Step 3/4 : EXPOSE 8818---> Running in 5f677d533ea3 ---> 3022bc179891 Removing intermediate container 5f677d533ea3 Step 4/4 : CMD /usr/local/bin/demo_api---> Running in 9e9f82a0780c ---> 1bcf0f228a7d Removing intermediate container 9e9f82a0780c Successfully built 1bcf0f228a7d

-t 參數后面指定鏡像的名字。最后一個“ . ”指的是當前目錄。

查看鏡像是否存在了

gorden@sung:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE demoapi v1.0 1bcf0f228a7d 12 seconds ago 86.3 MB ubuntu latest 452a96d81c30 4 weeks ago 79.6 MB centos latest e934aafc2206 7 weeks ago 199 MB gorden@sung:~$

從鏡像運行容器

gorden@sung:~$ sudo docker run --name go_api -d -p 9899:9899 demoapi:v1.0 3d52e9e4f3c0ce1df9800aa44bb2d97b5dbb7704f0c18e46cb86551c9bfb7d0b gorden@sung:~$

查看是否正在運行

gorden@sung:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d52e9e4f3c0 demoapi:v1.0 "/usr/local/bin/de..." 9 minutes ago Up 9 minutes 9899/tcp, 0.0.0.0:9899->9899/tcp go_api gorden@sung:~$

由于我這個二進制文件為一個go版本的簡單RestFul Api所以可以在瀏覽器中測試:

localhost:9899/people

有返回結果,正面成功。

總結

以上是生活随笔為你收集整理的Docker使用Dockerfile构建简单镜像的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。