Migración de una imagen al entrenamiento de ModelArts
- Agregue el grupo de usuarios predeterminado ma-group (gid = 100) de la gestión de entrenamiento para la imagen.
Si ya existe el grupo de usuarios cuyo gid es 100, puede aparecer en pantalla el mensaje de error "groupadd: GID '100' ya existe". Puede utilizar el comando cat /etc/group | grep 100 para verificar si existe el grupo de usuarios cuyo GID es 100.
Si ya existe el grupo de usuarios cuyo gid es 100, omita este paso y elimine el comando RUN groupadd ma-group -g 100 del Dockerfile.
- Agregue el usuario predeterminado ma-user (uid = 1000) de la gestión de entrenamiento para la imagen.
Si ya existe el usuario cuyo uid es 1000, puede aparecer en pantalla el mensaje de error "useradd: UID 1000 no es único". Puede utilizar el comando cat /etc/passwd | grep 1000 para verificar si existe el usuario cuyo UID es 1000.
Si ya existe el usuario cuyo uid es 1000, omita este paso y elimine el comando RUN useradd -d /home/ma-user -m -u 1000 -g 100 -s /bin/bash ma-user del Dockerfile.
- Modifique los permisos de los archivos de la imagen para permitir que ma-user cuyo uid sea 1000 lea y escriba los archivos.
Puede modificar una imagen haciendo referencia al siguiente Dockerfile para que la imagen cumpla con las especificaciones para las imágenes personalizadas de la gestión de entrenamiento de la nueva versión.
FROM {An existing image} USER root # If the user group whose GID is 100 already exists, delete the groupadd command. RUN groupadd ma-group -g 100 # If the user whose UID is 1000 already exists, delete the useradd command. RUN useradd -m -d /home/ma-user -s /bin/bash -g 100 -u 1000 ma-user # Modify the permissions on image files so that user ma-user whose UID is 1000 can read and write the files. RUN chown -R ma-user:100 {Path to the Python software package} # Configure the preset environment variables of the container image. # Set PYTHONUNBUFFERED to 1 to prevent log loss. ENV PYTHONUNBUFFERED=1 # Configure the default user and working directory of the container image. USER ma-user WORKDIR /home/ma-user
Después de editar el Dockerfile, ejecute el siguiente comando para crear una nueva imagen:
docker build -f Dockerfile . -t {New image}
Cargue la nueva imagen en SWR. Para más detalles, véase ¿Cómo puedo iniciar sesión en SWR y cargar imágenes en él?