# 该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