1. 下载镜像

docker pull vimagick/pptp:latest

2. 运行

docker run -it -d --privileged --network="host" -e SERVER=ip -e TUNNEL=vpn-name -e USERNAME=name -e PASSWORD=passwd --name vpn-name --restart=always vimagick/pptp:latest

3. 测试

docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS          PORTS     NAMES
3bb976314c63   vimagick/pptp:latest     "/entrypoint.sh"         17 minutes ago   Up 17 minutes             vpn

root@Dns:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:c9:16:de:6c brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1452 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp
    inet ip peer ip/32 scope global ppp0
       valid_lft forever preferred_lft forever

普通docker环境结束

4. LXC 环境可能你是跑不起来的,需要做相应的配置 (不是 docker 环境也是一样,需要配置)

我的环境是 pve ,所以需要在宿主机目录/etc/pve/lxc 下找到容器节点配置文件 nodeid.conf 打开编辑

cd /etc/pve/lxc
nano 106.conf

在最后追加

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:
lxc.mount.entry: /dev/ppp dev/ppp none bind,create=file

如果是pve 还需要确保开启 容器特权 以及 嵌套模式(nesting=1)

执行

modprobe aufs
modprobe overlay

重启容器

现在你应该就可以重新执行第二步了, good luck for you!