I cannot build my image with the following Dockerfile:
FROM ubuntu
RUN apt-get -y update && apt-get -y install \
nodejs npm ssh
# cache npm install when package.json hasn't changed
WORKDIR /tmp
ADD package.json package.json
RUN npm install
RUN npm install -g pm2
RUN mkdir /sparrow
RUN cp -a /tmp/node_modules /sparrow
WORKDIR /sparrow
ADD . /sparrow/
RUN npm run build
# ssh keys
WORKDIR /root
RUN mv /sparrow/.ssh /root/
# upload js and css
WORKDIR /sparrow/build
# UPLOAD TO S3!
# go back to /sparrow
WORKDIR /sparrow
ENV NODE_ENV production
ENV NODE_PATH "./src"
EXPOSE 8000
CMD ["pm2", "start", "./bin/server.js", "--no-daemon", "-i", "0"]
Seems like it's having trouble connecting to the internet to install ubuntu packages and failing with:
Err http://archive.ubuntu.com trusty InRelease
Err http://archive.ubuntu.com trusty-updates InRelease
Err http://archive.ubuntu.com trusty-security InRelease
Err http://archive.ubuntu.com trusty Release.gpg
Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg
Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-security Release.gpg
Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package nodejs
E: Unable to locate package npm
Any suggestions for how to resolve or test this problem? Running on El Capitan OSX
Thanks!
This has been answered at Docker build "Could not resolve 'archive.ubuntu.com'" apt-get fails to install anything
This also affects yum and other repo mangers since we expect them to be accessible but the containers have only the network settings allowed in the host
I like to add these lines at the start of my scripts:
#DNS update: This is needed to run yum and to let the docker build process access the internet.
RUN "sh" "-c" "echo nameserver 8.8.8.8 >> /etc/resolv.conf"
Update: From the comments below: when you move between networks say between wifi networks or between home and work the container doesn't know it's in a new network. Restarting the VM or Docker machine is the best fix.
On an Ubuntu host for me the following Entry in /etc/default/docker
DOCKER_OPTS="--dns 172.21.32.182"
and then:
sudo systemctl daemon-reload
sudo systemctl restart docker
helped to fix network connection issues. Of course you need to replace 172.21.32.182 with your dns.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With