# Docker image for Anaconda3-2019.03
# VERSION 0.0.1
# Author: bolingcavalry
### 基礎鏡像,使用alpine操作系統,openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9
#作者
MAINTAINER BolingCavalry <[email protected]>
#系統編碼
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
#path
ENV PATH /opt/conda/bin:$PATH
#安裝必要的軟件
#RUN apt-get update --fix-missing && apt-get install -y wget
RUN apk update && apk add wget
#下載下來的壓縮文件名稱
ENV NACOS_FILE_NAME nacos-server-1.1.0.tar.gz
#把啓動時用到的文件準備好
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
#解壓後的文件夾名稱
ENV NACOS_FOLDER_NAME nacos
RUN wget https://github.com/alibaba/nacos/releases/download/1.1.0/nacos-server-1.1.0.tar.gz -O ~/$NACOS_FILE_NAME && \
tar -zxf ~/$NACOS_FILE_NAME -C ~/ && \
rm ~/$NACOS_FILE_NAME && \
chmod a+x /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]
EXPOSE 8848
從Dockerfile內容中可見,先去nacos的github下載安裝包,然後解壓,再複製docker-enrypoint.sh到鏡像中,最後將nacos的8848端口暴露出來;
再來看看docker-enrypoint.sh文件的內容,該文件在容器啓動時會被執行,內容很簡單,就是進入nacos的bin目錄,執行啓動文件,再將start.out輸出到控制檯:
#!/bin/sh
echo "Starting nacos"n && \
cd ~/nacos/bin && \
./startup.sh -m standalone && \
cd ../logs && \
tail -f start.out