0 like 0 dislike
58 views
in Linux by (8.0k points)

Для создания Docker контейнера, который можно будет перенести на другой сервер, вам потребуется выполнить следующие шаги:

  1. Установите Docker на сервере, с которого вы хотите создать контейнер. Вы можете использовать официальную документацию Docker для инструкций по установке: https://docs.docker.com/get-docker/

  2. Создайте Dockerfile: Dockerfile - это текстовый файл, который содержит инструкции по сборке Docker образа. В нем указывается, какие приложения и зависимости должны быть установлены в контейнере, какие файлы должны быть скопированы в контейнер, и так далее.

  3. Пример простого Dockerfile для контейнера Node.js:

# Используем официальный образ Node.js

FROM node:14

# Устанавливаем рабочую директорию в контейнере

WORKDIR /app

# Копируем package.json и package-lock.json и устанавливаем зависимости

COPY package*.json ./

RUN npm install

# Копируем остальные файлы приложения

COPY . .

# Определяем порт, который будет слушать контейнер

EXPOSE 3000

# Команда для запуска приложения

CMD ["npm", "start"]

Соберите Docker образ, используя Dockerfile:

docker build -t my-node-app .

Здесь my-node-app - это имя образа, а . указывает на текущий каталог, где находится Dockerfile.

  1. После успешной сборки Docker образа вы можете сохранить его в Docker Hub (репозиторий образов Docker) или экспортировать в архив. Для сохранения в Docker Hub, выполните следующие шаги:

    • Войдите в Docker Hub, если у вас есть учетная запись, или зарегистрируйтесь на https://hub.docker.com/
    • Войдите в свой аккаунт через команду docker login.
    • Переименуйте ваш образ, чтобы он соответствовал синтаксису имя_пользователя/имя_репозитория:тег.
    • Отправьте образ в Docker Hub:

docker tag my-node-app ваше_имя/ваш_репозиторий:версия docker push ваше_имя/ваш_репозиторий:версия

Теперь на другом сервере, где установлен Docker, вы можете выполнить команду docker pull для загрузки контейнера из Docker Hub или скопировать образный архив и выполнить docker load:

docker pull ваше_имя/ваш_репозиторий:версия

Запустите контейнер на новом сервере:

docker run -d -p 3000:3000 ваше_имя/ваш_репозиторий:версия

Теперь ваш контейнер будет работать на новом сервере так же, как на исходном сервере. Убедитесь, что на новом сервере установлен Docker, и контейнер будет доступен через порт 3000, как указано в Dockerfile.

Please log in or register to answer this question.

375 questions

10 answers

4 comments

1.0k users

...