首頁>技術>

Dockerfile 指令FROM

指定基礎映象

FROM ubuntu:14.04 
RUN

在映象內部執行一些命令,比如安裝軟體,配置環境等,換行可以使用""

RUN groupadd -r mysql && useradd -r -g mysql mysql
ENV

設定變數的值,ENV MYSQL_MAJOR 5.7,可以透過docker run --e key=value修改,後面可以直接使 用${MYSQL_MAJOR}

ENV MYSQL_MAJOR 5.7 
VOLUME

指定的資料掛載

VOLUME /var/lib/mysql
COPY

將主機的檔案複製到映象內,如果目錄不存在,會自動建立所需要的目錄,注意只是複製,不會提取和 解壓

COPY docker-entrypoint.sh /usr/local/bin/
ADD

將主機的檔案複製到映象內,和COPY類似,只是ADD會對壓縮檔案提取和解壓

ADD application.yml /etc/itcrazy2016/
WORKDIR

指定映象的工作目錄,之後的命令都是基於此目錄工作,若不存在則建立

WORKDIR /usr/local WORKDIR tomcat RUN touch test.txt
CMD

容器啟動的時候預設會執行的命令,若有多個CMD命令,則最後一個生效

CMD ["mysqld"] 或 CMD mysqld
ENTRYPOINT

和CMD的使用類似

ENTRYPOINT ["docker-entrypoint.sh"]

和cmd不同

docker run執行時,會覆蓋CMD命令,而ENTRYPOINT不會

EXPOSE

指定映象要暴露的埠,啟動映象時,可以使用-p將該埠對映給宿主機

EXPOSE 3306
根據一個SpringBoot的專案生成一個image準備一個SpringBoot專案-->jarmvn clean package建立Dockerfile ,生成image
FROM openjdk:8 #誰來維護MAINTAINER zcl LABEL name="dcokerfile-demo" version="1.0" author="zcl"COPY dockerfile-demo-0.0.1-SNAPSHOT.jar dockerfile-image.jar    CMD ["java","-jar","dockerfile-image.jar"]

基於Dockerfile構建映象

docker build -t test-docker-image .

啟動container

docker run -d --name user01 -p 6666:8080 test-docker-image

檢視啟動日誌

docker log user01

14
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 18個 編寫 JavaScript 好習慣,收藏裡面吃灰吧