Modification du dockerfile : DNS interne bloque les DNS google + Modification du fichier requirement.txt suite maj
Bonjour, Dans un premier temps je tenais à vous remercier pour ce projet qui, suite à quelques tests, pourrait nous être très utile. J'ai rencontré quelques difficultés pour mettre en place le docker lié à notre infrastructure réseaux qui bloque les DNS google.
Step 5/9 : RUN apt-get update
---> Running in b499e3a68073
Err:1 http://deb.debian.org/debian stretch InRelease
Temporary failure resolving 'deb.debian.org'
Err:2 http://security.debian.org/debian-security stretch/updates InRelease
Temporary failure resolving 'security.debian.org'
Err:3 http://deb.debian.org/debian stretch-updates InRelease
Temporary failure resolving 'deb.debian.org'
Reading package lists...
W: Failed to fetch http://deb.debian.org/debian/dists/stretch/InRelease Temporary failure resolving 'deb.debian.org'
W: Failed to fetch http://security.debian.org/debian-security/dists/stretch/updates/InRelease Temporary failure resolving 'security.debian.org'
W: Failed to fetch http://deb.debian.org/debian/dists/stretch-updates/InRelease Temporary failure resolving 'deb.debian.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.
---> b2f0e38dbeb0
Removing intermediate container b499e3a68073
Step 6/9 : RUN apt-get -y install memcached
---> Running in 4bd4944f8d32
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package memcached
ERROR: Service 'web' failed to build: The command '/bin/sh -c apt-get -y install memcached' returned a non-zero code: 100
Makefile:17: recipe for target 'start' failed
make: *** [start] Error 1
Pour remédier à cela j'ai du passer par une modification du dockerfile sur plusieur parties:
- l'image d'origine pour partie sur l'image PYTHON3.6
- la modification du DNS pour les apt-get install et le pip3 install.
Voici mon dockerfile modifié :
FROM python:3.6
# see output in our console
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
RUN echo "nameserver 192.168.211.8" > /etc/resolv.conf && \
apt-get update && \
apt-get -y install memcached &&\
apt-get -y install apt-utils
COPY requirements.txt /code/
RUN echo "nameserver 192.168.211.8" > /etc/resolv.conf && \
pip3 install --no-cache-dir -r requirements.txt
COPY . /code/
Le fait d'avoir un run, pour l'ensemble des commandes, vient d'un fonctionnement de docker qui rend la modification du resolv.conf non permanent. La modification de celui-ci est uniquement valable dans la commande run actuelle.
J'ai modifié aussi le fichier requirement.txt pour spécifier la version 2.0.8 de Django.
Aujourd'hui j'ai toujours un warning sur le make start quand il lance l'installation de memcached :
The followin[Dockerfile](/uploads/cb8b412699545485f9d741895667efe4/Dockerfile)
[requirements.txt](/uploads/e6a51cf486f7f61ee530d536396bf8c1/requirements.txt)g NEW packages will be installed:
memcached
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 115 kB of archives.
After this operation, 280 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 memcached amd64 1.4.33-1+deb9u1 [115 kB]
debconf: delaying package configuration, since apt-utils is not installed
et un autre sur le pip3 install pour asgi_redis:
asgi-redis 1.4.3 has requirement asgiref~=1.1.2, but you'll have asgiref 2.3.2 which is incompatible.
Mais j'ai enfin accès à l'interface web.
Je vais continuer mes tests.
J'espère que mon retour pourra vous êtres utile.