Migração de uma imagem para o treinamento do ModelArts
- Adicione o grupo de usuários padrão ma-group (gid = 100) do gerenciamento de treinamento para a imagem.
Se o grupo de usuários cujo gid é 100 já existe, a mensagem de erro "groupadd: GID '100' already exists" pode ser exibida. Você pode usar o comando cat /etc/group | grep 100 100 para verificar se o grupo de usuários cujo GID é 100 existe.
Se o grupo de usuários cujo gid é 100 já existir, ignore esta etapa e exclua o comando RUN groupadd ma-group -g 100 do Dockerfile.
- Adicione o usuário padrão ma-user (uid = 1000) do gerenciamento de treinamento para a imagem.
Se o usuário cujo uid é 1000 já existir, a mensagem de erro "useradd: UID 1000 is not unique" pode ser exibida. Você pode usar o comando cat /etc/passwd | grep 1000 para verificar se o usuário cujo UID é 1000 existe.
Se o usuário cujo uid é 1000 já existe, ignore esta etapa e exclua o comando RUN useradd -d /home/ma-user -m -u 1000 -g 100 -s /bin/bash ma-user do Dockerfile.
- Modifique as permissões em arquivos na imagem para permitir que ma-user cujo uid é 1000 leia e grave os arquivos.
Você pode modificar uma imagem consultando o Dockerfile a seguir para que a imagem esteja em conformidade com as especificações para imagens personalizadas do gerenciamento de treinamento da nova versão.
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
Depois de editar o Dockerfile, execute o seguinte comando para criar uma nova imagem:
docker build -f Dockerfile . -t {New image}
Carregue a imagem nova para o SWR. Para mais detalhes, consulte Como acessar o SWR e carregar imagens para ele?