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 目录中
- 打开 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 # 授权文件位置
保存修改的内容
- 打开 passwd 文件,在 [users] 标签下创建用户:执行账号和密码
zhangsan = 123456
- 编辑授权文件 authz: 仿照里面已有的内容,写如下格式
[test_01:/]
zhangsan = rw
对于仓库 test_01 的根目录,给用户 zhangsan 赋予读写 (rw) 权限
svn 仓库地址
svn://localhost:3690/test_01