# 該image文件繼承官方的 node image FROM node:latest # 指定接下來的工做路徑爲/app WORKDIR /usr/src/app/ # 拷貝package.json進入image文件的/app目錄 COPY package.json ./ # 安裝依賴 RUN npm install # 拷貝所有的文件到app目錄下 COPY ./ ./ # 執行命令 CMD ["npm", "run", "start"]
注意:RUN指令是在鏡像build的時候執行,CMD指令是在鏡像運行成爲容器的時候執行node
使用dockerfile建立鏡像mysql
docker build -t myWebApp .
#Compose 是 Docker 公司推出的一個工具軟件,能夠管理多個 Docker 容器組成一個應用 version: '3.1' services: big_data_dev: build: context: ../ dockerfile: DockerfileDev ports: - 81:80 restart: unless-stopped container_name: big_data_dev_container image: big_data_dev_image
no,默認策略,在容器退出時不重啓容器 on-failure,在容器非正常退出時(退出狀態非0),纔會重啓容器 on-failure:3,在容器非正常退出時重啓容器,最多重啓3次 always,在容器退出時老是重啓容器 unless-stopped,在容器退出時老是重啓容器,可是不考慮在Docker守護進程啓動時就已經中止了的容器
volumes: // 只是指定一個路徑,Docker 會自動在建立一個數據卷(這個路徑是容器內部的)。 - /var/lib/mysql // 使用絕對路徑掛載數據卷 - /opt/data:/var/lib/mysql // 以 Compose 配置文件爲中心的相對路徑做爲數據卷掛載到容器。 - ./cache:/tmp/cache // 使用用戶的相對路徑(~/ 表示的目錄是 /home/<用戶目錄>/ 或者 /root/)。ro表示只讀 - ~/configs:/etc/configs/:ro // 已經存在的命名的數據卷。 - datavolume:/var/lib/mysql