docker的yml文件常用配置备忘

version: '2'
(
    Docker Compose 文件版本
    版本 1:最初的版本,现已不推荐使用。
    版本 2:引入了多种改进,如网络和卷的更好支持。版本 2 有多个子版本(如 2.12.22.3),每个子版本添加了一些新功能。
    版本 3:专为与 Docker Swarm 模式一起使用而设计,添加了对部署、堆栈和其他生产级功能的支持。版本 3 也有多个子版本,每个子版本针对不同的生产需求进行了优化。
 )
services:
  my_progress(这里可以用项目的部署名称,要有意义):
    container_name: my_progress(这里和上一行的内容保持一至,方便维护)
    hostname: my_progress(这里和上一行的内容保持一至,方便维护)
    image: node:16.16.0(程序的依赖环境)
    extra_hosts:
      - "www.baidu.com.cn:10.175.2.66"(通过www.baidu.com.cn访问容器内的10.175.2.66,类似DNF解析的功能,等于做了个域名和IP的映射)
      - "www.kuaishou.com.cn:10.175.2.66"(通过www.kuaishou.com.cn访问容器内的10.175.2.66,类似DNF解析的功能,等于做了个域名和IP的映射,可以配置多个映射)
    ports:
      - 8085:8080.通过本机的8085端口访问容器内的8080端口,做了个映射
    volumes:(创建本地/容器内部文件路径的映射数据卷)
      - /home/projects/:/home/projects
      - /etc/hosts:/etc/hosts
      - /conf/npmrc:/root/.npmrc
    restart: on-failure 
    (
        当容器因为错误(即非零退出状态)退出时,Docker 会自动尝试重启该容器。on-failure:N,重启N次,重启策略的其他选项
        no:不自动重启容器。
        always:无论退出状态如何,总是重启容器。
        unless-stopped:除非容器被手动停止,否则总是重启容器,即使容器是正常退出的。
     )
    environment:
      - SERVER_PORT=$PORT_BEACONTOWER_PROJECTBASE
    command: sh -c "cd /home/projects/server && npm i && npm run dev" (容器内部要执行的命令,这里我是到指定项目部署的目录安装一下包然后启动了一下我部署的web程序)
    

 

posted @ 2024-06-19 11:12  洛晨随风  阅读(1)  评论(0编辑  收藏  举报