Dockerfile製做自定義鏡像

本文介紹最精簡的Dockerfile文件構建鏡像,Docker啓動的時候能夠啓動一個shell腳本docker

1.首先編寫Dockerfile文件shell

說明緩存

1.啓動的這個shell腳本必定是不退出的,好比服務器的啓動,tomcat或者本身開發的socket服務監聽程序等tomcat

2.若是是啓動的服務有監聽IP功能,那麼IP須要配置成0.0.0.0,不要配置成127.0.0.1bash

  不然curl的時候會出現:curl: (7) Failed to connect to localhost port 6230: Connection refused服務器

FROM openjdk:8-jre-alpine
#設置Docker容器內部想放的程序的目錄
WORKDIR /netsharp
#複製當前目錄到Docker目錄
COPY ./netsharp-grow /netsharp/grow
#安裝bshell,不使用本地的緩存,apk是alpine的包管理器
RUN apk add --no-cache bash
#程序啓動的時候執行netsharp-grow腳本
CMD /netsharp/grow/bin/netsharp-grow

2.docker編譯生成鏡像curl

說明:生成的鏡像名稱是grow,最後一個.表示在當前目錄找Dockerfile文件socket

docker build -t grow .

 build以後經過docker images命令查看一下本身生成的imageui

若是生成的image的REPOSITORY或者TAG屬性爲空,那麼說明build有問題,再觀察一下build的日誌信息url

3.運行Docker容器

docker run -p 2552:2552 -p 6230:6230 --name grow  -d grow

 4.常見問題

UTC時區改爲上海時區

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
相關文章
相關標籤/搜索