dvikan.no

Hvordan bygge docker container med nginx (archlinux)

2017-11-15

Installer og sett opp docker:

pacman -Syu docker
systemctl start docker
usermod -aG docker dvikan
newgrp docker # med min non-root bruker
docker pull ubuntu:14.04
vim Dockerfile

Min Dockerfile ser slik ut:

FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
COPY docker/default /etc/nginx/sites-enabled/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Kommandoen som er spesifisert sist med CMD må kjøre og ikke gå i bakgrunnen. Ellers avslutter containeren. Ved å unngå daemonisering av nginx oppnås dette.

Bygg image:

docker build -t julekalender .

Lag og kjør container fra image:

docker run -p 80:80 julekalender

-p 80:80 gjør at port 80 på host blir routet til containeren sin ip adresse og port 80.

Jeg fikk feilmeldingen

nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

Løses med å fjerne listen [::]:80 default_server ipv6only=on; fra /etc/nginx/sites-enabled/default