如何使用docker-compose运行freeradius

问题描述

您能建议如何使用dockercompose来使freeradius运行吗?

在此处撰写文件,该文件将在几秒钟内自动停止。

version: '3'

services:

    freeradius:
      image: freeradius/freeradius-server
      restart: always
      volumes:
        - ./freeradius:/etc/freeradius
      ports:
        - "1812-1813:1812-1813/udp"

volumes:
  freeradius:

但是当我直接使用docker运行它时,它就会运行

docker run --name my-radius -i -t freeradius/freeradius-server /bin/bash

在这里,它显示配置文件

root@945f7bcb3520:/# ls /etc/freeradius

README.rst  clients.conf  experimental.conf  huntgroups      mods-config   panic.gdb  
proxy.conf    sites-available  templates.conf  users
certs       dictionary    hints              mods-available  mods-enabled  policy.d   
radiusd.conf  sites-enabled    trigger.conf

但是,卷文件夹./freeradius不包含任何conf文件

那么,如何才能使其正常工作?

解决方法

您不在此处显示Dockerfile。但是我可以猜测您正在Dockerfile中运行一个不会持久的命令。它可以从命令行运行,因为/ bin / bash会一直保留到退出。

我最近几次遇到这个问题。

,

我已经启动并运行了类似的设置并加载了我的配置。我所有的配置都是根据docker hub文档完成的。这是我的 docker-compose.ymlDockerfile 供参考。

(我知道我可以完全避免使用 Dockerfile,但这样做的好处是 Dockerfile 与官方文档基本上是 1:1 的..)

运行 docker-compose up -d 来运行它。这两个文件都应该在raddb的父目录中

folder structure

Dockerfile

FROM freeradius/freeradius-server:latest
COPY raddb/ /etc/raddb/

EXPOSE 1812 1813

docker-compose.yml

version: '2.2'
services:
  freeradius:
    build:
      context: .
    container_name: freeradius
    ports:
      - "1812-1813:1812-1813/udp"
    restart: always