Как установить и запустить Vue.js в контейнере Docker на Ubuntu 14.04?

У меня есть сервер с установленной Ubuntu 14.04. На этом сервере успешно работает Golang в Docker. Однако, при попытке запустить Vue.js возникают проблемы, хотя на локальной машине всё функционирует корректно. Можете помочь мне разобраться в том, что идет не так, и как это исправить? Вот вывод, который я получаю при сборке Docker для Vue.js:

<pre><code>root@456654:~/vuejs-dashboard# docker build -t vuejs-dashboard .
Sending build context to Docker daemon 5.374 MB
Sending build context to Docker daemon
Step 0 : FROM node:12-alpine
Pulling repository node
INFO[0002] Error: Status 410 trying to pull repository library/node: "&lt;html&gt;\r\n&lt;head&gt;&lt;title&gt;410 Gone&lt;/title&gt;\r\n&lt;body&gt;\r\n&lt;center&gt;&lt;h1&gt;410 Gone&lt;/h1&gt;&lt;/center&gt;\r\n&lt;hr&gt;&lt;center&gt;openresty&lt;/center&gt;\r\n&lt;/body&gt;\r\n&lt;/html&gt;\r\n"
root@456654:~/vuejs-dashboard#</code></pre>

В то же время сборка и запуск приложения на Golang проходят без ошибок:

<pre><code>root@456654:~/go-app# docker build --no-cache -t go-microservice .
Sending build context to Docker daemon 114.8 MB
Sending build context to Docker daemon
Step 0 : FROM golang:1.17
 ---&gt; af611bf1687a
Step 1 : WORKDIR /app
 ---&gt; Running in 9087d42b34a7
 ---&gt; 479e0847c610
Removing intermediate container 9087d42b34a7
Step 2 : COPY go.mod ./
 ---&gt; ef60fbeabf2a
Removing intermediate container 70777cb111e6
Step 3 : COPY go.sum ./
 ---&gt; 69b6c916ea99
Removing intermediate container 069d1f4fbcfe
Step 4 : COPY app.env ./
 ---&gt; a6f81e3a0a7d
Removing intermediate container bddbb98a8778
Step 5 : RUN go mod download
 ---&gt; Running in f32454071629</code></pre>
  • 12 ноября 2024 г. 11:03
Ответы на вопрос 2
Ошибка, с которой вы столкнулись, связана с тем, что вы используете устаревшую версию образа `node:12-alpine`. Многие старые версии Docker образов могли быть удалены или перемещены, в частности на Docker Hub. Вместо этого вы можете попробовать использовать более новую версию образа Node.js. 

Вот шаги, которые вам стоит выполнить, чтобы установить и запустить Vue.js в контейнере Docker на Ubuntu 14.04:

1. **Обновите Docker до последней версии.**
   Убедитесь, что у вас установлена последняя версия Docker, так как в старых версиях могут быть известные проблемы, которые уже исправлены в новых релизах. 

2. **Создайте файл `Dockerfile`.**
   
   В вашем проекте Vue.js создайте файл `Dockerfile` с содержимым:

   ```dockerfile
   # Используем последнюю стабильную версию Node.js
   FROM node:16-alpine

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

   # Копируем package.json и package-lock.json
   COPY package*.json ./

   # Устанавливаем зависимости
   RUN npm install

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

   # Собираем приложение
   RUN npm run build

   # Указываем порт
   EXPOSE 8080

   # Команда для запуска приложения (если используется Vue CLI)
   CMD ["npm", "run", "serve"]
   ```

   Убедитесь, что ваши скрипты в `package.json` поддерживают команду `npm run build` и `npm run serve`.

3. **Сборка и запуск контейнера.**
   
   В терминале выполните следующие команды:
   
   ```bash
   docker build -t vuejs-dashboard .
   docker run -p 8080:8080 vuejs-dashboard
   ```

   Это создаст образ с названием `vuejs-dashboard` и запустит контейнер, в котором будет доступно ваше приложение на порту 8080.

4. **Проверка работы.**
   
   После запуска контейнера вы можете проверить его, открыв браузер и перейдя по адресу `http://<ваш_IP_или_название_сервера>:8080`. Если вы работаете локально, вы можете использовать `http://localhost:8080`.

5. **Проблемы и отладка.**
   
   Если у вас все еще возникают ошибки, проверьте вывод из Docker на наличие сообщений об ошибках. Также убедитесь, что ваши зависимости и конфигурации Vue.js корректно настроены.

Это базовые шаги для создания и запуска приложения Vue.js в Docker. Вы всегда можете проверить официальную документацию Vue.js и Docker для получения дополнительной информации и решений проблем.
"Практическую археологию" в тэги. Просто обновитесь.
Похожие вопросы