Docker部署web服务器
1.创建Dockerfile文件
# 指定基础镜像
FROM django
# 维护者信息
LABEL maintainer="XXX@163.com"
# 安装所需要得模块
RUN pip install -r requirements.txt
# 指定工作目录
WORKDIR /gitbooktest
# 拷贝项目代码(或者使用数据卷)
COPY ./gitbooktest ./
# 指定默认的容器主进程的启动命令
CMD ["python3","manage.py","runserver","0.0.0.0:8899"]
将Dockerfile和项目代码放在同一个目录中。
2.创建镜像
docker build 命令用于使用 Dockerfile 创建镜像。语法如下:
docker build [OPTIONS] PATH | URL | -
- –build-arg=[]: 设置镜像创建时的变量;
- –cpu-shares : 设置 cpu 使用权重;
- –cpu-period : 限制 CPU CFS周期;
- –cpu-quota : 限制 CPU CFS配额;
- –cpuset-cpus : 指定使用的CPU id;
- –cpuset-mems : 指定使用的内存 id;
- –disable-content-trust : 忽略校验,默认开启;
- -f : 指定要使用的Dockerfile路径;
- –force-rm : 设置镜像过程中删除中间容器;
- –isolation : 使用容器隔离技术;
- –label=[] : 设置镜像使用的元数据;
- -m : 设置内存最大值;
- –memory-swap : 设置Swap的最大值为内存+swap,"-1"表示不限swap;
- –no-cache : 创建镜像的过程不使用缓存;
- –pull : 尝试去更新镜像的新版本;
- –quiet, -q : 安静模式,成功后只输出镜像 ID;
- –rm : 设置镜像成功后删除中间容器;
- –shm-size : 设置/dev/shm的大小,默认值是64M;
- –ulimit : Ulimit配置。
- –tag, -t : 镜像的名字及标签,通常 name : tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
- –network : 默认 default。在构建期间设置RUN指令的网络模式
例:
docker build -t django:v1.0 .
得到如下结果表明镜像创建成功了。
3.运行镜像
docker run -d -p 宿主机ip:宿主机端口:容器端口 --name 容器名字 镜像名称
例:
docker run -d -p 8888:8888 django:v1.0