Jump to Navigation

在docker中安装运行gitlab要点记录

在docker中安装运行gitlab要点记录

存储卷

repositories gitlab-satellites .ssh uploads

Binds和Volume有什么关系与区别呢

首先对于存储目录务必使用Volume指令,否则容器停止,数据丢失。 然后,在指定Binds时,则Volume中的数据写入到Binds存储中。 如果没有指定Binds,则Volume中的数据写入到默认创建的Volume中。

认证问题,ssh_port问题

由于ssh方式git服务执行在docker容器中,所以要在docker容器中启动sshd服务。 并且还有要辅助的参数, -p 2222:22 把宿主机上的2222 端口映射到容器的22端口。 gitlab.yml中,设置ssh_port=2222 Dockerfile中,EXPOSE 添加22端口

crontab服务问题 一个真正的Linux系统,一般需要PAM会话认证。 在docker环境中,默认不会启动PAM进程,登陆方式也与真实的Linux不同, 即无法实现PAM会话认证。 而crontab默认会使用PAM,当然是从配置文件中读取的。 通过修改/etc/pam.d/crond配置文件, 注释掉session相关行即可。 具体还可参考"这遍文档"

sshd服务问题 sshd同样面临与crontab的认证问题, 需要修改/etc/ssh/sshd_config配置文件,修改UsePAM = no。

多主机名问题, docker容器的/etc/hosts是启动时动态生成的,如果要设置自定义hosts, 则需要在每次启动容器时都设置一次,比如在/entrypoint.sh文件中。 docker窗口的/etc/hosts,默认会添加本机上的所有docker容器名到hosts文件中,这也稍微方便了一些。

附:

authorized_keys中的command使用
Category:

添加新评论

Plain text

  • 不允许HTML标记。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.


Main menu 2

Story | by Dr. Radut