centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新

  • centos7下安装docker并且配置ctfd以及CTFd-Whale
    • 1.centos7安装Docker 和 Docker-Compose,并且启用 Docker Swarm
      • 1.1Docker 要求 CentOS 系统的内核版本高于 3.10
      • 1.2、使用 `root` 权限登录 Centos。确保 yum 包更新到最新。
      • 1.3、卸载旧版本(如果安装过旧版本的话)
      • 1.4安装一些必要的工具:
      • 1.5添加Docker的存储库
      • 1.6、可以查看所有仓库中所有docker版本,并选择特定版本安装
      • 1.7安装Docker-ce
      • 1.8启动docker
      • 1.9开机启动docker
      • 1.10安装docker-compose
      • 1.11给docker-compose执行权限
      • 1.12检查,运行docker-compose
      • 1.13swarm创建主节点
    • 2.docker修改镜像源地址
    • 3.docker安装ctf-d及插件配置
      • 3.1用以下命令来标记节点
      • 3.2 修改centos7防火墙配置
      • 3.3、在机器上下载代码
      • 3.4、进入目录,编辑 frp 两端配置文件,使 token 随机,再使用 docker-compose 启动相关组件
      • 3.5 更改配置
      • 3.6、启动完毕,打开 http://ip:8000 安装 CTFd
      • 3.7进入系统后台设置,打开插件设置页面,按照如下指导进行设置
      • 3.8添加一个题目,进行测试
    • 参考文章
    • 最后

centos7下安装docker并且配置ctfd以及CTFd-Whale

1.centos7安装Docker 和 Docker-Compose,并且启用 Docker Swarm

1.1Docker 要求 CentOS 系统的内核版本高于 3.10

.查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

uname -r

centos7 修改国内软件源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache

yum -y update

1.2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

sudo yum update

1.3、卸载旧版本(如果安装过旧版本的话)

sudo yum remove docker  docker-common docker-selinux docker-engine

1.4安装一些必要的工具:

yum install -y yum-utils device-mapper-persistent-data lvm2

1.5添加Docker的存储库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

1.6、可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

1.7安装Docker-ce

yum install -y docker-ce

1.8启动docker

systemctl start docker

1.9开机启动docker

systemctl enable docker

1.10安装docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

此处因为是使用github下载,所以可能比较慢

1.11给docker-compose执行权限

chmod +x /usr/local/bin/docker-compose

1.12检查,运行docker-compose

docker-compose --version

1.13swarm创建主节点

ifconfig
docker swarm init --advertise-addr 192.168.164.151

2.docker修改镜像源地址

这里推荐安装新版docker

修改Docker的配置文件来设置加速地址

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://br10hqrl.mirror.aliyuncs.com"]
}

如果没有文件就新建一个

使配置文件生效

systemctl daemon-reload && systemctl restart docker

3.docker安装ctf-d及插件配置

3.1用以下命令来标记节点

docker node ls #检查节点 ID
docker node update --label-add name=linux-1 <节点 ID>

3.2 修改centos7防火墙配置

firewall-cmd --zone=public --add-port=6490/tcp --permanent
firewall-cmd --zone=public --add-port=28000-28100/tcp --permanent

或者暴力点

firewall-cmd --zone=public --add-port=1-65535/tcp --permanent

重启防火墙,重载设置

service firewalld restart

注意,这里防火墙不能关闭,因为需要用到iptables

3.3、在机器上下载代码

yum install git
git clone -b single https://github.com/glzjin/CTFd.git

3.4、进入目录,编辑 frp 两端配置文件,使 token 随机,再使用 docker-compose 启动相关组件

cd CTFd
vi frp/frps.ini # token 一定要随机
vi frp/frpc.ini # token 一定要随机
git submodule update --init

3.5 更改配置

修改ctfd目录下Dockerfile文件

FROM python:3.7-alpine

WORKDIR /opt/CTFd
RUN mkdir -p /opt/CTFd /var/log/CTFd /var/uploads

RUN sed -i 's/dl-cdn.alpinelinux.org/mirror.tuna.tsinghua.edu.cn/g' /etc/apk/repositories && \
    apk update && \
    apk add \
        linux-headers \
        libffi-dev \
        gcc \
        make \
        musl-dev \
        py-pip \
        mysql-client \
        git \
        openssl-dev

COPY . /opt/CTFd

RUN pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
RUN for d in CTFd/plugins/*; do \
      if [ -f "$d/requirements.txt" ]; then \
        pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r $d/requirements.txt; \
      fi; \
    done;

RUN chmod +x /opt/CTFd/docker-entrypoint.sh
RUN adduser -D -u 1001 -s /bin/sh ctfd
RUN chown -R 1001:1001 /opt/CTFd /var/log/CTFd /var/uploads

USER 1001
EXPOSE 8000
ENTRYPOINT ["/opt/CTFd/docker-entrypoint.sh"]

修改原文件的pythonpython-dev删除或者添加版本
修改requirements.txt删除gevent的版本信息
修改/root/CTFd/CTFd/themes/core/static/cssfonts.dev.cssfonts.min.css
将找到文件中的
https://use.fontawesome.com/releases/v5.9.0/css/all.css
替换 为
https://cdn.bootcss.com/font-awesome/5.13.0/css/all.css

3.6、启动完毕,打开 http://ip:8000 安装 CTFd

3.7进入系统后台设置,打开插件设置页面,按照如下指导进行设置

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第1张图片

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第2张图片

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第3张图片

img

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第4张图片

Frp Config Template,记得修改 token:

[common]
token = randomme
server_addr = 172.1.0.1
server_port = 6490
pool_count = 200
tls_enable = true

admin_addr = 172.1.0.3
admin_port = 7400

3.8添加一个题目,进行测试

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第5张图片

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第6张图片

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第7张图片

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第8张图片

centos7安装docker ctfd以及CTFd-Whale (包括配置中的问题以及解决方案)2020.10.18更新_第9张图片

参考文章

https://blog.csdn.net/TangXuZ/article/details/100082144

https://www.cnblogs.com/ruanqin/p/11082506.html

https://www.jianshu.com/p/df75f9b5fcf6

https://www.jianshu.com/p/77c4c62d9afe

https://www.zhaoj.in/read-6333.html#

https://juejin.im/post/5dc5811ff265da4d02626e3c

82144

https://www.cnblogs.com/ruanqin/p/11082506.html

https://www.jianshu.com/p/df75f9b5fcf6

https://www.jianshu.com/p/77c4c62d9afe

https://www.zhaoj.in/read-6333.html#

https://juejin.im/post/5dc5811ff265da4d02626e3c

https://www.zhaoj.in/read-6259.html

最后

赵师傅nb!

你可能感兴趣的:(环境搭建,docker)