docker compose 部署mysql svn server

242 阅读2分钟

1. 安装 Docker

官方提供了一键安装脚本

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run

2. 配置国内镜像源

修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器 阿里云镜像源需要自行申请

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 编写 docker-compose.yaml

version: '3'
services:
  mysql:
    image: mysql:8.0
    restart: always
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      TZ: Asia/Shanghai
    ports:
      - 3306:3306
    volumes:
      - ./mysql_data:/var/lib/mysql
    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci

  svn-server:
    image: 'garethflowers/svn-server'
    container_name: svn-server
    restart: always
    ports:
      - '3690:3690'
    volumes:
      - './svn_data:/var/opt/svn'
    

在 docker-compose.yaml 文件同目录下创建 svn_data 目录、mysql_data 目录

4. 启动服务

docker compose up -d

5. 停止服务

docker compose stop

6. 停止并删除

docker compose down

7. 重启服务

docker compose restart

8. 重启某个服务

docker compose restart svn-server

9. 查看运行情况

docker compose ps

10. 创建 SVN 代码仓库 test_01

docker exec -it svn-server svnadmin create test_01

执行完之后,会生成仓库的目录文件,在 svn_data/test_01 这个目录

11. 创建用户指定仓库权限

配置文件位于 svn_data/test_01/conf 目录中

  1. 打开 svnserve.conf 文件中,[general] 标签下修改4项配置:

anon-access = none # 匿名用户不能访问 auth-access = write # 授权用户可读可写 ("write" allows complete read/write access to the repository) password-db = passwd # 密码文件位置 authz-db = authz # 授权文件位置

保存修改的内容

  1. 打开 passwd 文件,在 [users] 标签下创建用户:执行账号和密码

zhangsan = 123456

  1. 编辑授权文件 authz: 仿照里面已有的内容,写如下格式

[test_01:/]

zhangsan = rw

对于仓库 test_01 的根目录,给用户 zhangsan 赋予读写 (rw) 权限

svn 仓库地址

svn://localhost:3690/test_01