github.com/igoogolx/clash@v1.19.8/docs/zh_CN/introduction/service.md (about)

     1  ---
     2  sidebarTitle: Clash 服务运行
     3  sidebarOrder: 3
     4  ---
     5  
     6  # Clash 服务运行
     7  
     8  Clash 需要在后台运行, 但是目前 Golang 还没有很好的守护进程实现, 因此我们推荐使用第三方工具来创建 Clash 的守护进程.
     9  
    10  ## systemd
    11  
    12  使用以下命令将 Clash 二进制文件复制到 `/usr/local/bin`, 配置文件复制到 `/etc/clash`:
    13  
    14  ```shell
    15  cp clash /usr/local/bin
    16  cp config.yaml /etc/clash/
    17  cp Country.mmdb /etc/clash/
    18  ```
    19  
    20  创建 systemd 配置文件 `/etc/systemd/system/clash.service`:
    21  
    22  ```ini
    23  [Unit]
    24  Description=Clash 守护进程, Go 语言实现的基于规则的代理.
    25  After=network-online.target
    26  
    27  [Service]
    28  Type=simple
    29  Restart=always
    30  ExecStart=/usr/local/bin/clash -d /etc/clash
    31  
    32  [Install]
    33  WantedBy=multi-user.target
    34  ```
    35  
    36  之后, 您应该使用以下命令重新加载 systemd:
    37  
    38  ```shell
    39  systemctl daemon-reload
    40  ```
    41  
    42  使用以下命令在系统启动时启动 Clash:
    43  
    44  ```shell
    45  systemctl enable clash
    46  ```
    47  
    48  使用以下命令立即启动 Clash:
    49  
    50  ```shell
    51  systemctl start clash
    52  ```
    53  
    54  使用以下命令检查 Clash 的运行状况和日志:
    55  
    56  ```shell
    57  systemctl status clash
    58  journalctl -xe
    59  ```
    60  
    61  本指南贡献者为 [ktechmidas](https://github.com/ktechmidas). ([#754](https://github.com/Dreamacro/clash/issues/754))
    62  
    63  ## Docker
    64  
    65  本项目提供了预构建的 Clash 和 Clash Premium Docker 镜像. 因此, 在 Linux 上您可以使用 [Docker Compose](https://docs.docker.com/compose/) 部署 Clash. 但是, 您应该知道在容器中运行 **Clash Premium** 是[不被推荐的](https://github.com/Dreamacro/clash/issues/2249#issuecomment-1203494599)
    66  
    67  ::: warning
    68  由于 Mac 版 Docker 中缺少[主机网络和 TUN 支持](https://github.com/Dreamacro/clash/issues/770#issuecomment-650951876), 此设置将无法在 macOS 系统上运行.
    69  :::
    70  
    71  ::: code-group
    72  
    73  ```yaml [Clash]
    74  services:
    75    clash:
    76      image: ghcr.io/dreamacro/clash
    77      restart: always
    78      volumes:
    79        - ./config.yaml:/root/.config/clash/config.yaml:ro
    80        # - ./ui:/ui:ro # 仪表盘 Volume 映射
    81      ports:
    82        - "7890:7890"
    83        - "7891:7891"
    84        # - "8080:8080" # 外部控制 (RESTful API)
    85      network_mode: "bridge"
    86  ```
    87  
    88  ```yaml [Clash Premium]
    89  services:
    90    clash:
    91      image: ghcr.io/dreamacro/clash-premium
    92      restart: always
    93      volumes:
    94        - ./config.yaml:/root/.config/clash/config.yaml:ro
    95        # - ./ui:/ui:ro # 仪表盘 Volume 映射
    96      ports:
    97        - "7890:7890"
    98        - "7891:7891"
    99        # - "8080:8080" # 外部控制 (RESTful API)
   100      cap_add:
   101        - NET_ADMIN
   102      devices:
   103        - /dev/net/tun
   104      network_mode: "host"
   105  ```
   106  
   107  :::
   108  
   109  保存为 `docker-compose.yaml`, 并将您的 `config.yaml` 放在同一目录下.
   110  
   111  ::: tip
   112  在继续操作之前, 请参考您的平台关于时间同步的文件 - 如果时间不同步, 某些协议可能无法正常工作.
   113  :::
   114  
   115  准备就绪后, 运行以下命令以启动 Clash:
   116  
   117  ```shell
   118  docker-compose up -d
   119  ```
   120  
   121  您可以使用以下命令查看日志:
   122  
   123  ```shell
   124  docker-compose logs
   125  ```
   126  
   127  Stop Clash with:
   128  
   129  ```shell
   130  docker-compose stop
   131  ```