{
“registry-mirrors” : [
“https://registry.docker-cn.com”,
“https://docker.mirrors.ustc.edu.cn”,
“http://hub-mirror.c.163.com”,
“https://cr.console.aliyun.com/”
]
}
使用Dockerfile封装Django镜像
在/home下建立了docker目录,在这个目录下准备好要构建镜像的文件和源码包。
mkdir /home/docker && cd /home/docker
# 创建镜像制作配置文件,
touch Dockerfile
# 创建一个shell脚本,用于后面启动django项目的。
touch run.sh
# docker官方提供的ubuntu镜像,里面源地址过时了,所以我们提供一个新的到容器内部
touch sources.list
sudo cp /etc/apt/sources.list ./
vim sources.list
sources.list,代码:
deb http://repo.huaweicloud.com/ubuntu/ focal main restricted
deb http://repo.huaweicloud.com/ubuntu/ focal-updates main restricted
deb http://repo.huaweicloud.com/ubuntu/ focal universe
deb http://repo.huaweicloud.com/ubuntu/ focal-updates universe
deb http://repo.huaweicloud.com/ubuntu/ focal multiverse
deb http://repo.huaweicloud.com/ubuntu/ focal-updates multiverse
deb http://repo.huaweicloud.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://repo.huaweicloud.com/ubuntu focal-security main restricted
deb http://repo.huaweicloud.com/ubuntu focal-security universe
deb http://repo.huaweicloud.com/ubuntu focal-security multiverse
下载一个django-3.2.5的源码包
cd /opt/
wget -O Django-3.2.18.tar.gz https://www.djangoproject.com/download/3.2.18/tarball/
tar xzf Django-3.2.18.tar.gz
编写Dockerfile构建镜像的配置文件
vim Dockerfile
FROM ubuntu:20.04
LABEL version="3.2.18"
LABEL maintainer="562172420@qq.com"
ADD Django-3.2.18.tar.gz /opt/
COPY sources.list /etc/apt/sources.list
RUN apt update && apt install -y python3 python3-pip
WORKDIR /opt/
RUN mv Django-3.2.18 django
WORKDIR /opt/django
RUN python3 setup.py install
WORKDIR /opt
RUN django-admin.py startproject djdemo
COPY run.sh /opt/djdemo/run.sh
WORKDIR /opt/djdemo
RUN sed -i "s/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = \['\*'\]/g" /opt/djdemo/djdemo/settings.py && chmod 755 run.sh
EXPOSE 8000
CMD ["/bin/sh","run.sh"]
注意:Dockerfile中不能出现命令以外的任何注释。以下是注释版本:
# 指定当前定制镜像的基础镜像以及版本号
FROM ubuntu:20.04
# 指定镜像的描述信息[版本号、作者]
LABEL version="3.2.18"
LABEL maintainer="562172420@qq.com"
# 从镜像外复制并解压到镜像内部
ADD Django-3.2.18.tar.gz /opt/
# 设置当前定