Portanto, antes de começar, sou novo nisso e, como aprendo melhor quando me dedico a um projeto, quero que o usuário Vagrant e Docker crie um servidor Node e Express simples com uma pasta compartilhada fora do contêiner real. Eu segui um tutorial que explicava coisas parecidas com nginx e php (o que funcionava) então, por favor, se a pergunta não está muito bem estruturada ou o meu inglês não está perfeito, me avise!
Como eu disse, eu queria praticar o Docker um pouco (comecei a trabalhar com ele recentemente) e aprender o Vagrant. Este é o meu 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
Além disso, o projekt
é escrito assim intencionalmente, pois está em meu idioma. Então eu basicamente queria instalar o nó e o npm. Então eu queria gerar o projeto Express e também sym link node e nodejs. Agora o problema com isso é que o último comando falha. Diz:
/bin/sh: 1: /home/projekt/bin/www: not found
Este é o meu 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
Esta é a aparência da pasta do meu projeto raiz:
.
├── Docker
│ └── Dockerfile
├── Vagrantfile
└── www
2 directories, 2 files
Além disso, se esta pergunta não for adequada para este StackExchange, você poderia me indicar onde eu poderia perguntar isso!