FROM ubuntu:20.04 # HOW TO USE THIS FILE # 切換到這個檔案的目錄處 # 輸入以下指令 # docker build -t mavone_server:0.XX . COPY mavone /home/mavone/pkg COPY LibPack/libmavsdk-dev_1.4.18_ubuntu20.04_amd64.deb /home/mavone/pkg/libmavsdk.deb RUN test -f /home/mavone/pkg/libmavsdk.deb || (echo "File not found: /home/mavone/pkg/libmavsdk.deb" && exit 1) RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 ENV LANG en_US.utf8 ENV CONFIG_FILE /home/mavone/config.txt RUN apt-get update RUN apt-get install -y g++ cmake libmysqlcppconn-dev WORKDIR /home/mavone/pkg RUN dpkg -i libmavsdk.deb RUN cmake -Bbuild -H. RUN cmake --build build RUN cp build/mavone /usr/local/bin/mavone WORKDIR /home/mavone RUN rm -r /home/mavone/pkg CMD ["/bin/sh", "-c", "mavone $CONFIG_FILE"] # 測試語句 # docker run -it --rm -e CONFIG_FILE="/home/mavone/mavone_config.txt" -v D:\tryRun:/home/mavone mavone_server:0.60 # docker run -it --rm -e CONFIG_FILE="/home/mavone/mavone_config.txt" -p 14550:14550 -v D:\tryRun:/home/mavone mavone_server:0.60 # docker run -it --rm -e CONFIG_FILE="/home/mavone/config1.txt" -p 49304:49304 -v /home/webpage/Mavsdk_DEV/mavone:/home/mavone mavone_server:0.421 # 這個方式會是錯的 因為會去執行 host 的環境變數 而不是 container 的環境變數 # ENTRYPOINT ["mavone"] # CMD ["$CONFIG_FILE"]