2024年11月21日星期四 下午8:16:33

Docker ha - DOCKER COMPOSE

1 年 前
#22166 引用
Docker ha - DOCKER COMPOSE

Guide:https://www.home-assistant.io/installation/raspberrypi#docker-compose

How To Run Home Assistant in Docker and Docker Compose
https://computingforgeeks.com/run-home-assistant-in-docker-and-docker-compose/
0
1 年 前
#22167 引用
# docker compose version

output
Docker Compose version v2.20.2
0
1 年 前
#22168 引用
A Docker Compose file is a YAML file that defines services, networks, and volumes for a Docker application.

It can be used to configure and start multiple containers for an application, in a single command.

The file is used in conjunction with the docker-compose command-line tool, which reads the file and starts the defined services.

Using a docker compose file  allows for easy management and scaling of multi-container applications.
https://stevessmarthomeguide.com/running-home-assistant-in-a-docker-container/
0
1 年 前
#22169 引用
As the Docker command becomes more complex, switching to docker compose can be preferable and support automatically restarting on failure or system restart. Create a compose.yml file:
version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /PATH_TO_YOUR_CONFIG:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    restart: unless-stopped
    privileged: true
    network_mode: host

https://www.home-assistant.io/installation/raspberrypi#docker-compose
0
1 年 前
#22170 引用
1
0
1 年 前
#22171 引用
Docker-Compose.yml标准配置文件应该包含 version、services、networks 三大部分,其中最关键的就是 services 和 networks 两个部分.



version: '2.0'  # 版本号
services:  #固定名称
  redis-6374:      #服务名称 可自定义如:elasticsearch,redis,mysql,abcd等
    image: whayercloud.registry:5000/redis:5-alpine   #从指定的镜像中启动容器,可以是存储仓库、标签
                              #以及镜像 ID  如果镜像不存在,Compose 会自动拉去镜像
    container_name: sdqj-components-redis-6374  #确定app容器的命名
    privileged: true   #开启权限
    network_mode: "host"   #可以指定使用服务或者容器的网络 其他参数:bridge none等
    restart: always
    environment:  #保存MY_HOST_IP变量到镜像里面,启动的容器也会包含这些变量设置
      MY_HOST_IP: ${MY_HOST_IP}  #后面要用到MY_HOST_IP参数
    volumes:
    #  - /var/lib/mysql  只是指定一个路径,Docker 会自动在创建一个数据卷(这个路径是容器内部的)。
    #  - ./cache:/tmp/cache   以 Compose 配置文件为中心的相对路径作为数据卷挂载到容器
    #  - /opt/data:/var/lib/mysql  使用绝对路径挂载数据卷
      - ${SDQJ_COMPONENTS_DIR}/redis-cluster/6375/conf/redis.conf:/usr/local/etc/redis/redis.conf#容器外文件映射到容器内,修容器件外路径的redis.conf完成容器内的修改
    command: >  #可以覆盖容器启动后默认执行的命令
      sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf  
      && redis-server /usr/local/etc/redis/redis.conf --cluster-announce-ip ${MY_HOST_IP} --appendonly yes"  #用了变量和创建的地址~
    ports:
      - "8080"    #映射端口 端口小于60你可能会得到错误得结果
      #- "8080:8080" 其他格式
      #- "3000-3005" 随机端口
    deploy:   #配置资源限制  除下面两个 还有其他
      resources:
        limits:#限制不超过 50M 的内存和 0.50(50%)可用处理时间(CPU)
          cpus: '0.50'
          memory: 50M
        reservations:  #留 20M 了内存和 0.25 CPU时间
          cpus: '0.25'
          memory: 20M
    networks:   #加入指定网络
      - front-tier
      - back-tier

networks:
  front-tier:
    driver: bridge
  back-tier:
driver: bridge



https://zhuanlan.zhihu.com/p/435219168
0
1 周 前
#47749 引用
Step 1.Create a compose.yml file:

https://zhuanlan.zhihu.com/p/405570556

在任意位置创建一个 homeassistant 文件夹,并在文件夹内创建一个 docker-compose.yml 文件。可参考以下代码

mkdir homeassistant 
cd homeassistant
vim docker-compose.yml


version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /PATH_TO_YOUR_CONFIG:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    privileged: true
    network_mode: host
0