我是 docker 新手,需要一些建议。我即将用 Gitea 建立我自己的个人 git 存储库。docker compose 文件可以在下面看到。当我第一次运行文件时,一切都很好。当我重新启动计算机或 Docker 时出现问题,然后页面加载但它是空的,没有存储库,什么都没有。此外,无法使用首次安装后设置的凭据登录。重新启动后,与数据库的连接似乎丢失了。
码头工人撰写文件:
version: "2"
networks:
gitea:
external: false
volumes:
gitea:
driver: local
services:
server:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
restart: always
networks:
- gitea
volumes:
#- ./gitea:/data
- gitea:/data
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
docker run -v /host/directory:/container/directory -other -options image_name command_to_run
Run Code Online (Sandbox Code Playgroud)
否则,在删除容器时,默认情况下会丢弃任何写入现有图像层之上的数据。
这是使用联合文件系统:(请参阅“深入研究 Docker 层”)
对于gitea (docker),请确保您有本地 data 和 mysql 文件夹,由 Docker 映像挂载。
volumes:
- ./data:/data
volumes:
- ./mysql:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
你用过
volumes:
#- ./gitea:/data
- gitea:/data
Run Code Online (Sandbox Code Playgroud)
这将声明一个名为“ ”的卷(而不是绑定安装)gitea,存储到您的 Docker 安装中。
您可以为 db 部分尝试相同的方法:
volumes:
- mysql:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9647 次 |
| 最近记录: |