2017-06-01 3 views
0

Ich versuche einen Ordner mit meiner Docker-Datei zu mounten, anstatt ihn auf Build zu kopieren. Wir verwenden git für die Entwicklung und ich möchte das Bild nicht jedes Mal neu erstellen, wenn ich eine Änderung zum Testen mache.macOS, Dockerfile mounten eines Ordners kann das Gebietsschema nicht ändern

meine Docker-Datei ist jetzt als solche

#set base image 
FROM centos:centos7.2.1511 

MAINTAINER Alex <[email protected]> 

#install yum dependencies 
RUN yum -y update \\ 
&& yum -y install yum-plugin-ovl \ 
&& yum -y install epel-release \ 
&& yum -y install net-tools \ 
&& yum -y install gcc \ 
&& yum -y install python-devel \ 
&& yum -y install git \ 
&& yum -y install python-pip \ 
&& yum -y install openldap-devel \ 
&& yum -y install gcc gcc-c++ kernel-devel \ 
&& yum -y install libxslt-devel libffi-devel openssl-devel \ 
&& yum -y install libevent-devel \ 
&& yum -y install openldap-devel \ 
&& yum -y install net-snmp-devel \ 
&& yum -y install mysql-devel \ 
&& yum -y install python-dateutil \ 
&& yum -y install python-pip \ 
&& pip install --upgrade pip 

# Create the DIR 
#RUN mkdir -p /var/www/itapp 

# Set the working directory 
#WORKDIR /var/www/itapp 

# Copy the app directory contents into the container 
#ADD . /var/www/itapp 

# Install any needed packages specified in requirements.txt 
#RUN pip install -r requirements.txt 

# Make port available to the world outside this container 
EXPOSE 8000 

# Define environment variable 
ENV NAME itapp 

# Run server when the container launches 
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] 

ive die Erstellung und Kopie der itapp Django Dateien kommentiert, wie ich sie will, anstatt montieren, (brauche ich diese zuerst wieder aufzubauen?)

dann für die Montage ist mir Befehl

docker run -it -v /Users/alex/itapp:/var/www/itapp itapp bash 

ich jetzt eine Fehlermeldung erhalten:

bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory 
bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory 
bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory 
bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory 
bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory 

und die Entwickler-Instanz wird nicht ausgeführt.

Wie würde ich das Arbeitsverzeichnis auch auf das Volume festlegen, das ich zur Laufzeit mounte?

Antwort

1

Versuchen Sie diesen Befehl. -w WORKDIR Option in docker run legt Arbeitsverzeichnis im Container fest.

docker run -d -v /Users/alex/itapp:/var/www/itapp -w /var/www/itapp itapp

Außerdem werden Sie Ihren Containerhafen zu Ihrem Host-Port zur Karte zugreifen zu können, beispielsweise aus einem Browser, um Ihre Anwendung.

Verwenden Sie dazu den folgenden Befehl.

docker run -d -p 8000:8000 -v /Users/alex/itapp:/var/www/itapp -w /var/www/itapp itapp

Danach sollte Ihre Anwendung in localhost:8000

+0

ausgeführt werden, die den Trick tat, hatte Dateien von ucommenting die mkdir und Anforderungen mit meiner Docker Datei zu basteln, und dir zu arbeiten, aber es funktioniert perfekt ! Vielen Dank! – AlexW

Verwandte Themen