一、使用docker-compose部署django
补充一下,今天使用Ubuntu出现报错
ERROR: Service ‘web’ failed to build: The command ‘/bin/sh -c pip install pip -U && pip install -r requirements.txt’ returned a non-zero code: 2
重启docker就好了
sudo service docker restart
1.项目树
2.Dockerfile编写
# 从仓库拉取镜像文件
FROM python:3.8
#设置环境变量
ENV PYTHONUNBUFFERED 1
#在根目录创建文件夹
#RUN mkdir /code
#设置公作目录
WORKDIR /home
#RUN pip install -r ll.txt
#把本地文件拷贝到容器
ADD . /home/
RUN pip install pip -U && pip install -r requirements.txt
3 .docker-compose编写
# 从仓库拉取镜像文件
FROM python:3.8
#设置环境变量
ENV PYTHONUNBUFFERED 1
#在根目录创建文件夹
#RUN mkdir /code
#设置工作目录
WORKDIR /home
#RUN pip install -r ll.txt
#把本地文件拷贝到容器
ADD . /home/
RUN pip install pip -U && pip install -r requirements.txt
[root@192 demo1]# cat docker-compose.yml
version : "3"
services:
web:
#设置自动重启
restart: always
build: .
command: "python manage.py runserver 0.0.0.0:8080"
volumes:
- .:/home
ports :
- "8080:8080"
4.命令
生成 requirements.txt
pip freeze > requirements.txt
运行容器
sudo docker-compose -f [docker-compose.yml] up -d
docker-compose -f yml文件 up -d
-f : 指定使用的Compose模板文件
-d : 后台运行
停止容器
docker-compose -f docker-compose.yml down -d
docker容器映射
sudo docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer
-p 添加映射端口
-v 宿主机目录:容器目录
/var/run/docker.sock docker守护进程
-d 后台运行
–restart always时自动重启
–nemg 命名
portainer/portainer 镜像