当我在 m1 mac mini 上通过 docker 安装 gitlab-ce 时,它​​卡在 gitlab::database::migrations 上

sak*_*ove 6 macos silicon gitlab apple-m1

这是我的运行命令:

sudo docker run --detach \
  --hostname localgitlab.com \
  --publish 9443:443 --publish 9980:80 --publish 9922:22 \
  --name gitlab \
  --restart always \
  --volume ~/gitlab/config:/etc/gitlab: \
  --volume ~/gitlab/logs:/var/log/gitlab: \
  --volume ~/gitlab/data:/var/opt/gitlab: \
  --platform linux/amd64 --privileged=true \
  gitlab/gitlab-ce:latest
Run Code Online (Sandbox Code Playgroud)

但就到此为止了

Recipe: gitlab::database_migrations

  * ruby_block[check remote PG version] action nothing (skipped due to action :nothing)

  * rails_migration[gitlab-rails] action run
Run Code Online (Sandbox Code Playgroud)

我不确定我是否可以使用 m1 mac 作为 gitlab 服务器?

我在我的芯片间 Mac 上成功设置了 gitlab。

有人知道原因吗?

小智 2

Gitlab 论坛上有一个帖子讨论了这个问题,但没有解决方案。

到目前为止,我找到的唯一解决方案是使用yrzr/gitlab-ce-arm64v8映像而不是官方 GitLab 映像。该镜像采用arm64兼容性构建,与官方镜像同时发布。

与 GitLab EE 版本类似的镜像位于gsdukbh/gitlab-ee-arm64,它得到维护,但不包含所有版本。

顺便说一句,如果你想尝试一下,这是我在 Mac M1 上测试的 docker-compose.yml:

version: "3.4"
services:
  gitlab:
    image: 'yrzr/gitlab-ce-arm64v8'
    restart: always
    hostname: 'gitlab.local'
    container_name: gitlab-ce
    privileged: true
    depends_on:
      - postgresql
    links:
      - postgresql:postgresql
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        postgresql['enable'] = true
        gitlab_rails['db_username'] = "gitlab"
        gitlab_rails['db_password'] = "gitlab"
        gitlab_rails['db_host'] = "postgresql"
        gitlab_rails['db_port'] = "5432"
        gitlab_rails['db_database'] = "gitlabhq_production"
        gitlab_rails['db_adapter'] = 'postgresql'
        gitlab_rails['db_encoding'] = 'utf8'
        external_url 'http://gitlab.local'
    ports:
      - "8080:80"
      - "8043:443"
      - "8022:22"
    volumes:
      - ./gitlab-config:/etc/gitlab
      - ./gitlab-logs:/var/log/gitlab
      - ./gitlab-data:/var/opt/gitlab
  postgresql:
    restart: always
    image: postgres:13.6-alpine
    container_name: gitlab-postgres
    environment:
      - POSTGRES_USER=gitlab
      - POSTGRES_PASSWORD=gitlab
      - POSTGRES_DB=gitlabhq_production
      - TZ=America/Bogota
      - PGDATA=/data
    volumes:
      - ./gitlab-db-data:/data
    ports:
      - "5432:5432"
Run Code Online (Sandbox Code Playgroud)