Итак, прежде чем я начну, я новичок в этом, и, поскольку я лучше всего учусь, когда отдаю себе проект, я хотел, чтобы пользователь Vagrant и Docker создал простой сервер Node и Express с общей папкой вне фактического контейнера. Я следил за учебником, в котором объяснялись похожие вещи с nginx и php (которые работали), поэтому, пожалуйста, если вопрос не очень хорошо структурирован или мой английский не идеален, дайте мне знать!
Как я уже сказал, я хотел немного попрактиковаться в Docker (недавно начал с ним работать) и изучить Vagrant. Это мой Dockerfile:
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN apt-get update
RUN apt-get -y dist-upgrade
RUN apt-get install -y nodejs npm
RUN cd /home
RUN npm install -g express
RUN npm install -g express-generator
RUN ln -s /usr/bin/nodejs /usr/bin/node
RUN express projekt
RUN cd projekt && npm install
VOLUME ["/home/projekt/"]
EXPOSE 3000
RUN DEBUG=projekt:* /home/projekt/bin/www
Так же projekt
пишется так намеренно, поскольку на моем языке. Поэтому я в основном хотел установить node и npm. Затем я хотел сгенерировать проект Express, а также символьный узел и nodejs. Проблема в том, что последняя команда не работает. Он говорит:
/bin/sh: 1: /home/projekt/bin/www: not found
Это мой Vagrantfile:
Vagrant.configure(2) do |config|
config.vm.synced_folder "./www", "/home/projekt" # Sync'd folder
config.ssh.port = "22"
config.vm.provider "docker" do |d|
d.build_dir = "./Docker" # specifies the path to the Dockerfile
d.ports = [ '80:3000' ] # Forwards port 8080 from the host to the Docker Container port 80
end
end
Вот так выглядит моя корневая папка проекта:
.
├── Docker
│ └── Dockerfile
├── Vagrantfile
└── www
2 directories, 2 files
Также, если этот вопрос не подходит для этого StackExchange, не могли бы вы направить меня, где я мог бы это задать!