Apple M1, Docker arm64 에뮬레이션

./launcher rebuild app 명령어 시퀀스에서 --platform linux/arm64를 어디서 지정하나요?

M1에서 Discourse/Docker를 로컬로 테스트해야 합니다.

ARM 빌드가 완전히 구현될 때까지 이 옵션을 설정할 수 있으면 좋겠습니다.

감사합니다.
워커

현재 Discourse는 arm64에서 작동하지 않아, 런처에 해당 옵션이 없습니다.

이 문제를 해결하기 위해 적극적으로 작업 중이며, 팀원 중 다수가 이미 M1에서 이를 실행하고 있습니다. 다만, miniracer에서 오는 전이적 의존성인 libv8의 브랜치가 여전히 필요합니다.

라파엘, 고마워요.

정말 대단해요.

감사합니다,
워커

launcher에 있는 docker args 매개변수를 시도해 볼 수 있습니다. 작동할 수도 있습니다.

개발 환경에서 성능은 어떻게 보여요?

토픽 생성이나 토픽 보기와 같은 단일 코어 Rails 작업에서 놀라운 성능을 보여줍니다. 다만, 다중 코어 환경이나 디스크 I/O에 관여하는 작업에서는 최근의 x86_64 제품보다 여전히 훨씬 느립니다.

알겠습니다. 이 정보를 알려주셔서 감사합니다. M1에 대한 소프트웨어 지원이 제대로 갖춰지기까지는 시간이 좀 걸릴 것 같지만, 미래는 밝아 보입니다.

악명 높다는 평이 있지만, 최근 구매한 기기가 갑자기 구식이 되지는 않을 것 같아 오히려 조금 안심이 됩니다. :wink:

그것이 작동하지 않으면 DOCKER_DEFAULT_PLATFORM 환경 변수를 사용할 수 있습니다. 저는 현재 zsh 프로필에 다음을 설정해 두었습니다:

export DOCKER_DEFAULT_PLATFORM=linux/amd64

Docker를 사용할 때 거의 항상 아키텍처가 프로덕션 시스템과 일치하기를 원하기 때문입니다.

이전 세대 MacBook과 비교하면 큰 개선이 되었습니다. 파일 시스템 성능 문제가 여전히 존재하지만요. 그래도 고성능 Linux 데스크톱에는 여전히 미치지 못합니다.

예를 들어, core에서 bin/turbo_rspec을 실행하면 약 2분 50초가 걸립니다(M1 MacBook Pro, Discourse, Redis 및 Postgres가 네이티브로 실행되는 상태). 고성능 Linux 데스크톱을 사용하는 팀원들은 약 1분에 이를 수 있습니다.

stable 버전으로 활성화되는 로드맵은 어떻게 되나요?

새로운 mini racer / v8 지엄(release)이 필요합니다. 아직 정확한 출시 일정이 정해지지 않았으며, 현재 알파 버전을 테스트 중입니다.

@sam 테스트는 어떻게 되고 있나요? M1 호환 버전에 매우 관심이 있습니다.

그렇게 나쁜 타이밍은 아닙니다… 이 정도에 근접조차 못하는 사람들(개발자)도 꽤 있거든요…

M1에서 Discourse 개발에 관한 정보는 Rails 포럼에서 확인할 수 있습니다: Tips and tricks for developing Rails applications on Apple Silicon - rubyonrails-talk - Ruby on Rails Discussions. 팀원 중 일부는 이를 일상적으로 사용하고 있으며, 잘 작동합니다.

다만, M1에서 프로덕션 Discourse 서버를 실행하는 것은 권장하지 않습니다.

그렇다면 왜 GA(일반 가용)로 출시하지 않는 건가요?

다만, M1에서 프로덕션 Discourse 서버를 실행하는 것은 권장하지 않습니다.

왜 그런가요?

@david

정말 너무 멋져요. 이렇게 해 주셔서 감사하다는 말을 어떻게 드려야 할지 모르겠어요. 정말 잘하셨어요.

그리고, M1 맥북 에어로 디스코urs 개발을 하기에 충분한가요?

그럴 것 같습니다 :slight_smile:

정말 아름답습니다. 어떻게 감사의 뜻을 전해야 할지 모르겠습니다. 정말 잘하셨습니다.

Discourse에 대한 소식을 널리 알리는 것만으로도 충분할 것 같습니다…

잘 모르겠는데… 이건 전부 공개되어 있으니, 해당 지침을 직접 따라가면 설정을 시작할 수 있습니다.

우리의 프로덕션 설치 지침은 AMD64 리눅스 호스트에서 실행하는 것을 전제로 합니다. 이 토픽의 팁을 활용하여 다른 OS/아키텍처에서 실행할 수 있을 수도 있지만,任何保证는 없습니다.

물론입니다. 저는 Pro 모델을 사용하지만, M1 MacBook Air와 Mac Mini를 사용하는 팀원들도 있습니다. 개발 벤치마크에서 두 모델 간 성능 차이가 거의 없는 것으로 보입니다.

어디에요? 공식 공개 저장소에요?

제가 링크한 기사에서:

혹시 그쪽이 궁금해하시는 것이 맞다면, 우리는 비공개 개발 브랜치에 있는 Discourse에 어떠한 변경 사항도 적용하지 않았습니다. 위에서 David가 게시한 가이드에 따르면, 우리가 사용하는 의존성들의 ARM64 버전을 설치하면 M1 시스템에서 Discourse를 작동시킬 수 있습니다.

우리 모두는 공식 저장소가 새 하드웨어와 함께 작동하기를 원합니다, 그렇지 않나요? :wink: 그리고 서랍 속에 숨겨진 코드 말고요.