Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat gambar kontainer untuk GameLift Server Amazon
Topik ini menjelaskan cara membuat gambar kontainer dengan perangkat lunak server game Anda untuk digunakanAmazon GameLift Servers. Gambar wadah server game mencakup server game yang dapat dieksekusi dan dependensi apa pun yang perlu dijalankan. Gambar wadah server game digunakan dengan solusi hosting kon Amazon GameLift Servers tainer terkelola. Untuk detail tentang membangun solusi lengkap, lihat:
Selesaikan tugas-tugas berikut untuk menyiapkan gambar kontainer server game Anda untuk digunakan ke armada Amazon GameLift Servers kontainer. Sebelum memulai tugas-tugas ini, selesaikan mengintegrasikan kode server game Anda dengan SDK Amazon GameLift Servers server.
Buat gambar wadah server game
Ikuti petunjuk ini saat bekerja pada Linux-based platform atau menggunakan Windows Subsystem for Linux (WSL) dengan Docker diinstal.
Untuk membuat gambar wadah server game
-
Siapkan direktori kerja dengan perangkat lunak server game Anda. Pada mesin lokal, buat direktori kerja untuk mengatur file untuk wadah server game Anda. Gambar kontainer Anda menggunakan struktur file ini saat menerapkan wadah ke Amazon GameLift Servers sumber daya untuk hosting. Contoh:
[~/]$mkdir -p work/glc/gamebuild && cd work && find .. ./glc ./glc/gamebuildcatatan
Jika Anda mencoba fitur ini dan belum memiliki build server game yang berfungsi, coba server game sampel kami, SimpleServer
, yang tersedia di GitHub. Buat Dockerfile baru menggunakan template yang disediakan.
Ikuti petunjuk di template Dockerfile untuk memperbaruinya untuk penggunaan Anda sendiri.
Perbarui gambar dasar sesuai kebutuhan.
Tetapkan variabel lingkungan untuk build server game Anda.
Bangun gambar kontainer. Jalankan
docker build, tentukan nama repositori Anda sendiri. Contoh:[~/work/glc]$docker build -t<local repository name>:<optional tag>.Anda dapat melihat repositori dan ID gambar menggunakan
docker imagesperintah, seperti yang diilustrasikan dalam contoh ini:
Template ini berisi instruksi minimum yang diperlukan wadah server game untuk dapat digunakan dalam Amazon GameLift Servers armada. Ubah konten sesuai kebutuhan untuk server game Anda.
# Base image # ---------- # Add the base image that you want to use, # Make sure to use an image with the same architecture as the # Instance type you are planning to use on your fleets. FROM public.ecr.aws/amazonlinux/amazonlinux # # Game build directory # -------------------- # Add your gamebuild directory to the env variable below. # The game build provided here needs to be integrated with server sdk for Amazon GameLift Servers. ENV GAME_BUILD_DIRECTORY="<ADD_GAME_BUILD_DIRECTORY>" \ # # Game executable and launch parameters # --------------- # Add the relative path to your executable in the 'GAME_EXECUTABLE' env variable below. # The game build provided over here needs to be integrated with server sdk for Amazon GameLift Servers. # This template assumes that the executable path is relative to the game build directory. # Add any launch parameters to pass into your executable in the 'LAUNCH_PARAMS' env variable below. # Add 'HOME_DIR' to identify where the game executable and logs exist. GAME_EXECUTABLE="<ADD NAME OF EXECUTABLE WITHIN THE GAME DIRECTORY>" \ LAUNCH_PARAMS=<ADD LAUNCH PARAMETERS> \ HOME_DIR="/local/game" \ # Install dependencies as necessary RUN yum install -y shadow-utils RUN mkdir -p $HOME_DIR COPY ./$GAME_BUILD_DIRECTORY/ $HOME_DIR # Change directory to home WORKDIR $HOME_DIR # Set up for 'gamelift' user RUN useradd -m gamelift && \ echo "gamelift ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ chown -R gamelift:gamelift $HOME_DIR # Add permissions to game build RUN chmod +x ./$GAME_EXECUTABLE USER gamelift # Check directory before starting the container RUN ls -lhrt . # Check path before starting the container RUN echo $PATH # Start the game build ENTRYPOINT ["/bin/sh", "-c", "./$GAME_EXECUTABLE", "$LAUNCH_PARAMS"]
Dorong gambar wadah ke Amazon ECR
Setelah Anda membuat gambar kontainer untuk digunakanAmazon GameLift Servers, simpan gambar di repositori publik atau pribadi di Amazon ECR. Repositori ini diberi nilai URI, yang Amazon GameLift Servers digunakan untuk mengambil snapshot dari gambar untuk penerapan ke armada kontainer.
catatan
Jika Anda belum memiliki repositori pribadi Amazon ECR, maka bu atlah satu.
Untuk mendorong gambar kontainer Anda ke Amazon ECR
-
Dapatkan kredensi Amazon ECR Anda. Sebelum mendorong gambar kontainer ke Amazon ECR, pertama-tama dapatkan kre AWS densibilitas Anda dalam bentuk sementara dan berikan ke Docker. Docker membutuhkan kredenSIAL ini untuk masuk.
[~/work/glc]$aws ecr get-login-password --regionus-west-2| docker login --username AWS --password-stdinaws_account_id.dkr.ecr.us-west-2.amazonaws.com.rproxy.goskope.comWARNING! Your password will be stored unencrypted in /home/user-name/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded Salin URI repositori pribadi Amazon ECR
yang ingin Anda gunakan. Terapkan tag Amazon ECR ke gambar wadah Anda.
contoh
[~/work/glc]$docker tag<IMAGE ID from above><Amazon ECR private repository URI>:<optional tag>Dorong gambar kontainer Anda ke Amazon ECR
contoh
[~/work/glc]$docker image push<Amazon ECR private repository URI>