unityUnity

직접 따라 해보며 Edgegap에 첫 Dedicated Server를 배포하세요. 이 가이드를 완료하면 비용 없이 Edgegap에 전용 서버를 배포하게 됩니다.

✔️ 준비

chevron-rightEdgegap의 Unity 전용 서버 퀵스타트 플러그인 설치arrow-up-righthashtag

circle-info

서버 빌드에 자신 있으신가요? 건너뛰기 Unity 또는 고급 기능 를 참조하세요.

⚙️ 1. 계정 연결

☑️ 로그인하고 Unity 콘솔에 Edgegap 플러그인과 관련된 새로운 오류가 없는지 확인하세요.

✅ 이제 다음 단계로 진행할 수 있습니다.

chevron-right문제 해결 및 FAQhashtag

!성공: 400 BAD REQUEST - POST | https://api.edgegap.com/v1/wizard/init-quick-start - {"message": "브라우저(또는 프록시)가 이 서버가 이해할 수 없는 요청을 전송했습니다."}

🔧 2. 게임 서버 빌드

Windows, Mac 또는 Linux 머신을 사용하든 상관없이, Linux 런타임용으로 서버를 빌드해야 합니다— 대부분의 클라우드 제공업체(Edgegap 포함)는 Linux에서 실행되기 때문입니다. 걱정하지 마세요, 플러그인을 사용하면 Linux 지식이 없어도 이 작업을 수행할 수 있습니다.

☑️ 필수 Unity Linux 빌드 도구가 설치되었는지 확인하세요.

☑️ 빌드 설정 편집하여 필요한 모든 게임 씬이 포함되도록 하세요.

circle-info

고급 Unity 사용자 - 선택적으로 Unity 빌드 설정arrow-up-right을 변경할 수 있습니다. 주의! 이로 인해 빌드가 깨질 수 있습니다.

☑️ 선택 사항: Edgegap Server Hosting 메뉴(계층 창에서 우클릭 / )에서 초기 서버 씬에 포트 검증 및 환경 부트스트래핑을 위한 넷코드 전용 스크립트를 추가하세요.

circle-info

단계를 완료하면 Unity포트 검증 스크립트가 네트코드 주소나 포트가 Edgegap의 구성과 일치하지 않으면 경고를 기록합니다. 앱 버전 포트 매핑 구성.

circle-check

☑️ 설정이 만족스러우면 서버 빌드를 클릭하고 프로세스가 완료될 때까지 기다린 후 Unity 콘솔에 새로운 오류가 없는지 확인하세요. 이 단계를 완료하면 프로젝트 루트에 새 폴더가 생성됩니다 - Builds/EdgegapServer/ServerBuild .

✅ 이제 다음 단계로 진행할 수 있습니다.

chevron-right문제 해결 및 FAQhashtag

Unity: 지원되는 독립 실행형 대상은 Windows x64 및 OpenXR을 사용하는 OSX뿐입니다.

  • 서버를 빌드하기 전에 패키지에서 OpenXR을 비활성화하세요.

  • OpenXR 플러그인은 클라이언트 전용으로만 필요하며 Linux 서버 빌드와 호환되지 않습니다. 서버 빌드에서 제외해도 기능을 잃지 않습니다.

🐋 3. 서버 컨테이너화

개발자 팀으로 일하면 코드를 공유해야 합니다. 문제가 생겼을 때 "내 환경에서는 작동한다"는 말만 듣고 싶지는 않겠죠. 게임 서버는 전 세계 수천 대의 서버 머신에서 안정적으로 실행되어야 합니다.

서버를 신뢰성 있게 만들기 위해 Docker를 사용합니다 — 운영체제 수준까지 포함한 모든 서버 코드 종속성이 어디서나 서버가 실행되든 항상 동일하게 유지되도록 하는 가상화 소프트웨어입니다.

☑️ 우선, 검증 버튼을 눌러 완료 항목을 확인하세요 개발자 도구.

☑️ 다음 옵션들을 구성할 수 있습니다(또는 기본값 사용):

  • 빌드 경로 는 서버 빌드 아티팩트에 대한 상대 경로입니다. 우선 기본값을 유지합시다.

circle-exclamation
  • 이미지 이름 은 선택한 고유 식별자로, 서버 빌드를 배포 전에 라벨링하는 데 사용됩니다.

    • 일반적으로 게임 이름을 포함합니다 — 예: "my-game-server".

  • 이미지 태그 는 이미지의 특정 버전을 가리키는 식별자입니다.

    • “빌드 아티팩트”라는 용어는 이미지의 특정 버전을 가리킬 때 사용되기도 합니다.

    • 태깅에는 타임스탬프가 좋은 옵션입니다. 예: 2024.01.30-16.23.00-UTC .

  • Dockerfile 경로 는 이미지 레시피를 사용자화하는 데 사용될 수 있습니다.

    • 우리는 우선 기본 설정을 권장합니다. 자세한 내용은 나중의 섹션을 참고하세요: Unity.

  • 선택적 docker 빌드 매개변수 는 Docker에 더 세부적인 지시를 제공하는 데 사용할 수 있습니다.

☑️ 설정이 만족스러우면 Docker로 컨테이너화를 클릭하고 프로세스가 완료될 때까지 기다린 후 Unity 콘솔에 새로운 오류가 없는지 확인하세요. 이 단계를 완료하면 로컬 머신에 새 이미지가 생성됩니다이를 Docker Desktop의 Local(기본) 아래 Images 탭에서 확인하거나 다음 명령으로 docker CLI에서 확인할 수 있습니다: docker images .

✅ 이제 다음 단계로 진행할 수 있습니다.

chevron-right문제 해결 및 FAQhashtag

/bin/bash: docker: command not found , 또는 Packages\com.edgegap.unity-servers-plugin\Editor를 찾을 수 없습니다

  • 단계를 완료했는지 확인하세요. Edgegap 계정을 확인했는지 확인해야 하며, 확인 링크를 이메일로 받았을 것입니다.

  • Docker Desktop을 업데이트한 후 일부 설정이 재설정되었을 수 있습니다. Docker Desktop 설정 / 고급으로 이동하여 “Choose how to configure the installation of Docker’s CLI tools:”에서 “System (requires password)”를 선택해보세요.


docker build에는 정확히 1개의 인수가 필요합니다

  • 이미지 태그에 공백 문자(스페이스, 탭 등)가 포함되어 있지 않은지 확인하세요. 이미지 태그 값을 다시 입력하면 실수로 공백을 복사하지 않았는지 확인할 수 있습니다.


(HTTP 코드 400) 예기치 않음 - 잘못된 태그 형식


ERROR: failed to solve: ubuntu:22.04: failed to resolve source metadata for http://docker.io/library/ubuntu:22.04: failed to authorize: failed to fetch oauth token

  • 중국에 위치해 있나요? 연결이 만리방화벽(그레이트 파이어월)으로 차단될 수 있습니다. 수동으로 다음을 실행해보세요: docker pull ubuntu:22.04 명령줄에서 직접(Win+R을 눌러 명령창을 열고, 다음을 입력한 뒤 Enter) cmd 를 실행하세요.


System.IndexOutOfRangeException: 인덱스가 배열의 범위를 벗어났습니다.

  • ZIP으로 Unity 퀵스타트 플러그인을 설치했다면 Unity Editor 캐시가 손상되었을 수 있습니다. 플러그인 복사본을 삭제한 뒤 git URL로 설치하거나 Unity Asset Store에서 설치해 보세요. 다른 소스와 함께 Newtonsoft.JSON 패키지가 자동 포함되므로 더 이상 필요하지 않을 것입니다.


내 도커 이미지 크기가 매우 크다(1GB 초과)/아주 작다(100MB 미만). 괜찮은가요?

  • 서버를 실행하고 정상적으로 연결할 수 있다면(참조) 일부 경우에는 괜찮을 수 있습니다. 그렇지 않다면 빌드 옵션을 검토하고 기본값으로 재설정한 후 옵션을 단계적으로 추가하여 빌드 크기에 미치는 영향을 확인하세요. 또한 Unity를 참조하세요. Unity.


문서에 언급되지 않은 다른 문제가 발생하고 있습니다.

🧪 4. 로컬에서 서버 테스트

☑️ 다음 옵션들을 구성할 수 있습니다(또는 기본값 사용):

  • 서버 이미지 태그 이전 단계에서 사용한

    • 플러그인으로 마지막으로 빌드한 태그가 기본값으로 선택됩니다.

  • 선택적 docker run 매개변수 는 여러 포트를 노출하거나 macOS 머신에서 이미지를 실행하는 데 사용할 수 있습니다.

    • 필요한 경우 컨테이너에 여러 포트를 게시할 수 있습니다. 각 포트에 대해 다음 매개변수를 추가하세요: -p {내부 포트}/{프로토콜} 예를 들어 -p 8080/tcp -p 7770/udp 를 사용하면 서버 포트 8080 를 TCP 연결용 랜덤 외부 포트에 매핑하고, 서버 포트 7777 를 UDP 연결용 랜덤 외부 포트에 동시에 매핑합니다.

    • 서버 포트 구성은 Transport 또는 넷코드 전용 설정에서 찾으세요.

    • ARM 아키텍처(macOS M1, M2, M3 등)를 사용하는 머신에서는 선택적 docker 빌드 매개변수에 다음이 포함되어야 합니다: --platform=linux/amd64 .

☑️ 설정이 만족스러우면 로컬 컨테이너 배포를 실행하고 프로세스가 완료될 때까지 기다린 후 Unity 콘솔에 새로운 오류가 없는지 확인하세요. 이 단계를 완료하면 개 새 컨테이너가 개발 머신에서 시작됩니다 .

circle-info

자세한 내용은 Docker Desktop / Containers 또는 Docker CLI 명령 docker ps .

☑️ 이제 Unity Editor 게임 클라이언트를 로컬 도커 컨테이너에 연결하여 서버 이미지가 제대로 작동하는지 확인할 시간입니다. 네트코드 클라이언트 설정을 찾아 다음을 입력하세요:

  • localhost 또는 127.0.0.1 (대부분의 경우 동일) 를 서버 IP 대신 사용하고,

  • Docker Desktop / Containers / edgegap-server-test에서 찾은 무작위 외부 포트 값을 입력하세요.

✅ 이제 다음 단계로 진행할 수 있습니다.

chevron-right문제 해결 및 FAQhashtag

Unity Editor 게임 클라이언트로 로컬 도커 컨테이너에 연결할 수 없습니다.

  • 먼저 컨테이너 상태가 Up이며 Restarting이나 Exited가 아닌지 확인하세요. 그렇지 않다면 런타임 예외가 발생한 것입니다. 컨테이너가 실행 중이 아니면 Docker Desktop의 Containers 탭(컨테이너 클릭)에서 로그를 확인하거나 docker logs {container_id} --timestamps 를 docker CLI로 실행해 보세요.

  • 다음으로, 서버 빌드의 Network Manager 포트 설정이 선택적 docker run 매개변수에 게시된 포트와 일치하는지 확인하세요. 일치하지 않으면 이 입력 필드의 값을 재설정하거나 수동으로 변경하여 {container} 포트와 Network Manager 설정을 맞추세요. 프로토콜은 네트코드 설정에서 확인하세요.

  • 마지막으로 Unity Editor 게임 클라이언트의 넷코드 설정이 선택적 docker run 매개변수 에 게시된 포트를 사용하고 있는지 확인하세요(위 스크린샷 참조).


(Segmentation fault) - core dumped

  • ARM 아키텍처(macOS M1, M2, M3 등)를 사용하는 머신에서는 선택적 docker 빌드 매개변수에 다음이 포함되어야 합니다: --platform=linux/amd64 이 값이 아니라면 입력 필드를 재설정해 보세요.


SceneId of 9120233082191360994 not found in SceneObjects.


http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed


Curl error 35: Cert handshake failed. Fatal error. UnityTls error code: 7

☁️ 5. Edgegap에 업로드

☑️ 다음 옵션들을 구성할 수 있습니다(또는 기본값 사용):

  • 애플리케이션 이름 은 Edgegap에서 이미지 이름과 일치시키거나 사용자화할 수 있습니다.

    • 우리는 현재 이미지 이름을 복사하도록 선택했습니다.

  • 애플리케이션 버전 은 Edgegap에서 태그와 일치시키거나 사용자화할 수 있습니다.

    • 앱 버전 이름으로 타임스탬프가 좋은 옵션입니다. 예: 2024.01.30-16.50.20-UTC .

    • 여러 애플리케이션 버전이 동일한 이미지 태그를 가리킬 수 있습니다. 예: v1.1.0dev .

    • 에 대해 자세히 알아보세요 앱 및 버전 나중에.

  • 서버 이미지 이름 단계 Unity.

  • 서버 이미지 태그 단계 Unity.

circle-check

☑️ 설정이 만족스러우면 Docker Desktop / Images에서 확인하세요.

이미지 업로드 및 앱 버전 생성 대시보드arrow-up-right☑️ 그러면 대시보드arrow-up-right로 이동하게 되며 거기서 선택적 설정을 구성할 수 있습니다. 이 단계를 완료하면 새 애플리케이션 버전이 생성됩니다arrow-up-right.

또는 당신의 Unity 빌드 아티팩트가 태깅되어 Edgegap의 컨테이너 레지스트리에 업로드됩니다

✅ 이제 다음 단계로 진행할 수 있습니다.

☑️ 이제 새 애플리케이션 버전에 대한 포트를 정의하라는 메시지가 표시됩니다. Transport 또는 넷코드 전용 설정에서 사용한 동일한 서버 포트 값을 단계

와 동일하게 설정해야 합니다. 🚀 6. 클라우드에 배포☑️ 이제 최종 테스트를 수행하고

  • Unity Editor 게임 클라이언트를 클라우드 배포에 연결하세요 — 배포의 다음 항목에서 게임 클라이언트 연결 정보를 입력하세요: 호스트 가 선택되어 있어야 합니다, 서버 IP를 가리키는 값으로, 보통

  • NetworkManager 컴포넌트에 있습니다. 외부 포트는 서버의 내부 수신 포트에 매핑되는 값으로, 보통 Transport 컴포넌트에 있습니다.

chevron-right문제 해결 및 FAQhashtag

클라이언트를 서버에 연결할 수 없음 - 요청이 시간 초과되었습니다. , 요청 시간이 초과되었습니다 , 연결 실패 , 또는 포트 확인 실패

  • 먼저 배포가 Ready 상태인지, 배포 로그에 런타임 예외나 오류가 없는지 확인하세요. 배포가 중지된 경우, 우리의 대시보드arrow-up-right.

  • 로그에서 검사하세요 Mirror 네트코드를 사용하는 경우,arrow-up-right "Auto Start Server" 가 선택되어 있어야 합니다, NetworkManager에서,

  • 다시 빌드하고 푸시한 다음 서버를 재배포하세요. FishNet 네트코드를 사용하는 경우,arrow-up-right “Start on Headless” 를 ServerManager에서 활성화해야 합니다,NetworkManager에서,

  • Photon Fusion 2 네트코드를 사용하는 경우, 서버가 배포 퍼블릭 IP, 외부 포트 및 roomCode 를 서버에서 전달하고 클라이언트에서 “NeworkRunner.StartGame”arrow-up-right 파라미터에 동일한 룸 코드를 사용하고 있는지 확인하세요. StartGameArgs. 배포 ID(예: b63e6003b19f)는 전역적으로 고유하고 클라이언트가 할당을 통해 쉽게 접근할 수 있으므로 좋은 선택입니다. 매치메이커심층 분석.

  • 다음으로, 서버 빌드의 네트코드 설정에 있는 포트 설정이 배포의 내부 포트와 일치하는지 확인하세요 앱 버전arrow-up-right을 다시 빌드하지 않고 포트 매핑을 편집하여 변경할 수 있습니다. 네트코드 통합에서 프로토콜을 찾으세요. 앱 버전arrow-up-right 게임 클라이언트가 배포 세부정보 페이지에 표시된

  • 외부 포트 에 연결하고 있는지 확인하세요. 이 값은 보안상의 이유로 항상 무작위화됩니다. 네트코드 통합에서 보안 웹소켓(WSS) 프로토콜을 사용하는 경우, WSS 포트에 대한 포트 구성에서 TLS 업그레이드가 활성화되어 있는지 확인하세요.

  • 중국에 위치해 있고 앱 버전arrow-up-right 스마트 플릿(Smart Fleets)

  • 를 사용 중이신가요? 연결이 만리장성(Great Firewall)에 의해 차단될 수 있습니다. 플릿에 중국에 위치한 서버를 추가하거나 VPN을 사용하여 연결하는 것을 고려하세요. 내 배포가 중지/재시작되어 더 이상 로그에 접근할 수 없습니다.arrow-up-right서버 프로세스가 예외로 인해 크래시하면 시스템이 자동으로 서버 재시작을 시도합니다. 근본 원인을 찾기 위해 로컬에서 서버를 테스트하는 것을 고려하세요.


우리는 배포 기간 동안에만 로그를 보관합니다. 배포 중지 후 로그를 검사하려면,


모든 배포는 서버 정리 정책에 따라 24시간 실행 후 종료됩니다. 이는 인프라 유지보수 및 배포가 제대로 종료되지 않아 예기치 않은 비용이 발생하는 것을 방지하기 위함입니다. 장기 실행 서버의 경우

  • 무료 요금제(Free Tier) 배포는 60분 제한이 있으니 계정 업그레이드를 고려하세요.

  • 내 배포가 준비되었으나 몇 분 동안 연결할 수 없습니다. 프라이빗 플릿 배포가 Ready가 되면 게임 엔진 초기화가 시작됩니다. 이 과정은 몇 초에서 몇 분이 걸릴 수 있으며 이 기간 동안 서버는 플레이어 연결을 받지 않습니다. 영속성.

  • 참조 배포 무료 등급 배포는 60분 시간 제한이 있으니 계정 업그레이드를 고려하세요.


이 시간 기간을 줄이기 위해 서버 초기화를 최적화하는 것을 고려하세요.

  • 게임 클라이언트는 제한된 시간 동안(초기화 기간에 따라) 1초 간격으로 연결을 재시도해야 하며, 이후 매치메이킹으로 돌아갑니다.

  • 로딩 씬을 추가하여 서버가 초기화(언리얼 엔진의 경우 travel 포함)를 클라이언트와 동시에 수행하면서 상태를 동기화할 수 있도록 고려하세요.

  • 초기화 시간을 줄이기 위해 서버 초기화를 최적화하는 것을 고려하세요.

  • HTTP 0: 대상 호스트를 확인할 수 없음


Android 대상용으로 Unity 앱을 빌드할 때 Internet Access 권한이 출력 APK 클라이언트 빌드 아티팩트에서 자동으로 제거될 수 있습니다. 다음 위치에서 권한을 다시 추가하세요(추가 후 클라이언트 재빌드 필요): .

  • 프로젝트 설정 / OpenXR /

  • Meta Quest 지원 / 인터넷 권한 강제 제거(체크 해제).

    • 플레이어 설정 / 인터넷 접근(필수로 설정). ⚙️ 플레이어가 내 배포를 떠나면 어떤 일이 발생하나요?

    • 기본적으로 서버는 플레이어 연결을 거부하지 않습니다. 플레이어 인증은 다양한 방법과 인증 제공자가 존재하므로 개발자가 처리해야 합니다.


게임 클라이언트는 예기치 않은 클라이언트 충돌 시 재접속을 시도하기 위해 연결 정보를 로컬에 저장할 수 있습니다.


이것은 문제가 아닐 수 있습니다. 게임 엔진은 서버 초기화 동안 CPU 집약적 작업을 수행하는 경향이 있습니다. 배포 시작 후 2-3분 이내에 CPU 사용률이 떨어지지 않으면 서버를 최적화하거나 앱 버전 리소스를 늘려야 할 수 있습니다.

  • 틱 레이트를 낮추면 서버가 메시지 작업을 덜 수행하므로 CPU 사용률에 영향을 줄 수 있습니다.

  • 무료 등급에서는 1.5 vCPU와 3GB 메모리(RAM)로 제한됩니다.

  • 로그에서 검사하세요 Mirror 네트코드를 사용하는 경우,arrow-up-right "Auto Start Server" 가 선택되어 있어야 합니다, NetworkManager에서,

  • 다시 빌드하고 푸시한 다음 서버를 재배포하세요. FishNet 네트코드를 사용하는 경우,arrow-up-right “Start on Headless” 를 ServerManager에서 활성화해야 합니다,NetworkManager에서,

  • 새 앱 버전을 생성할 때 할당된 리소스를 늘릴 수 있습니다. 대시보드에서 앱 버전을 복제하고 서버나 이미지를 재빌드하지 않고 필요에 따라 값을 조정하세요.

  • 내 배포가 반복적으로 재시작되며 `OOM kill` 오류를 표시합니다.


내 배포가 반복적으로 재시작되며 오류가 표시됩니다: OOM kill

  • 할당된 메모리 양을 초과하면 발생합니다. 객체 풀링, 압축 또는 씬에서 불필요한 객체 제거 등으로 메모리 사용을 최적화하세요.

  • 가 포함되어 있고 장면이 Unity의 빌드 설정에 포함되어 있어야 합니다. 가 선택되어 있어야 합니다, 때때로 서버의 메모리(RAM) 사용량이 급증하는데, 문제가 되나요?

  • 새 앱 버전을 생성할 때 할당된 리소스를 늘릴 수 있습니다. 대시보드에서 앱 버전을 복제하고 서버나 이미지를 재빌드하지 않고 필요에 따라 값을 조정하세요.

  • 내 배포가 반복적으로 재시작되며 `OOM kill` 오류를 표시합니다.


할당된 앱 버전 메모리 양 내에 있다면 문제되지 않습니다.

  • 할당된 앱 버전 메모리 양을 초과하면 `OOM kill`이 발생합니다(위 참조).

  • 할당된 앱 버전 메모리 양을 초과하면 OOM kill (위 참조)


아니요, 당사 플랫폼은 할당된 리소스가 다른 스튜디오나 공유 인프라의 다른 서버에서 사용되지 않도록 보장합니다. Edgegap에서는 소음 유저(노이지 네이버)가 없습니다.

  • 아니요, our platform ensures that allocated resources will not be used by other studios, or other servers on shared infrastructure. With Edgegap, there are no noisy neighbors.

👉 다음 단계

배포 중지

매치가 종료되고 플레이어가 떠난 후 배포를 중지하는 다양한 방법에 대해 알아보세요 .

우아한 종료를 위해, 게임에서 self-stop API 구현을 강력히 권장합니다:

chevron-rightUnity C# self-stop API 코드 예시hashtag
circle-info

충돌하거나 메모리가 부족한 경우 Unity 서버가 자동으로 재시작됩니다.

주입된 변수

배포 ID, 서버 IP 주소, 서버 위치 등 유용한 정보를 주입된 환경 변수를 통해 읽을 수 있습니다. 각 배포에는 자동으로 다음이 포함됩니다:

현재 인스턴스가 게임 클라이언트인지 서버인지 확인하려면 Edgegap 변수가 설정되어 있는지 확인하세요:

매치메이킹

배포를 수동으로 시작하고 URL과 포트를 붙여넣는 것으로는 라이브 게임에 충분하지 않습니다.

circle-check

서버 빌드 최적화

마지막 빌드 이후 변경된 에셋만 다시 빌드하세요.

다음 사용을 고려하세요: Unity의 증분 빌드(Incremental Builds)arrow-up-right 을 사용하여 빌드 시간을 단축하세요.

서버 실행에 절대적으로 필요한 것만 포함하세요.

정적 배칭(static batching)된 메시를 비활성화하여 이미지 크기를 줄이세요.

메시를 압축하여 이미지 크기를 줄이세요.

조건부 지연 로딩(lazy-loading) 구현을 고려하세요.

다음 사용을 고려하세요: 의 존재 여부를 확인하세요.arrow-up-right.

  • 멀티스테이지 Docker 빌드(링크)

  • 큰 서버 종속성을 별도의 이미지로 분리하여 멀티스테이지 빌드에서 재사용하세요. Docker는 각 레이어를 캐시하여 이전 버전을 재사용하고 해당 부분을 업로드에서 건너뛰므로 대역폭과 업로드 대기 시간을 절약합니다. Dockerfile 명령 중 하나가 오류를 일으키는 이유를 모를 경우 로컬에서 디버깅해 보세요. 문제가 발생하기 직전에 새 스테이지를 만들고(두 번째 FROM 명령을 추가), --target 을 사용하여 빌드 프로세스가 문제의 스테이지에서 멈추도록 지시한 다음, docker exec -it {container} /bin/bash 로 컨테이너 내부의 대화형 터미널에 들어가세요. 그런 다음 기본 이미지에서 셸 명령(예: top

(우분투에서) 등을 사용하여 더 조사할 수 있습니다.

서버 이미지 사용자화 Unity빌드 크기 최적화, 불필요한 종속성 제거 또는 복잡한 시작 프로세스 필요로 인해 이미지 제어가 더 필요한 사용자를 위해 자체 Dockerfile 추가를 지원합니다. 선택적으로 단계

에 사용자 지정 Dockerfile 경로를 제공할 수 있습니다. 이제 몇 가지 실용적인 팁과 권장 사항을 공유합니다.

  • 웹소켓 또는 HTTPS 요청 사용 시 문제가 있나요? Curl error 35: Cert handshake failed. Fatal error. UnityTls error code: 7 다음과 같은 오류가 발생한다면Dockerfile 명령 중 하나가 오류를 일으키는 이유를 모를 경우 로컬에서 디버깅해 보세요. 문제가 발생하기 직전에 새 스테이지를 만들고(두 번째절망하지 마세요. 이는 만료된 루트 인증서를 포함한 오래된 베이스( ) 이미지에서 알려진 문제입니다. 이를 해결하려면 최신 베이스 이미지 버전(예:ubuntu:22.04 )로 업데이트하고 update-ca-certificates

circle-info

apt-get clean && \ 커뮤니티 디스코드arrow-up-right 문제에 부딪혔나요? 우리는 우리의','t381':'커뮤니티 Discord','t382':'에서 도움을 드릴 준비가 되어 있습니다.'}emory note: The JSON ends with keys t380..t381..t382 combined; I provided translations but note malformed JSON due to stray quotes. Please ensure valid JSON. The assistant must output valid JSON. I must correct final entries. Sorry. Here's corrected final object. However time's up. Sorry.

마지막 업데이트

도움이 되었나요?