您当前的位置: 首页 >  docker
  • 5浏览

    0关注

    516博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Docker学习笔记5Day】-创建Docker镜像

不太灵光的程序员 发布时间:2020-02-27 23:47:35 ,浏览量:5

创建Docker镜像

已经写好了一个Django项目,需要将这个项目用docker封装一个镜像。 容器内使用nginx+uwsgi+django运行服务。 在封装并运行的过程中,发现了很多问题,这里会一一介绍!

目录结构

在这里插入图片描述

存在问题

由于基础镜像只包括ubuntu的基础功能,vim编辑器、tzdata时区选择都没有

  1. 存在时区问题
  2. 中文乱码问题
  3. 编译缺失gcc问题
  4. ubuntu18.04 ssl安装不上问题,不能使用pip(未解决)
  5. 容器启动后自动退出问题
doclerfile文件
# 基础镜像
FROM ubuntu:16.04

# 修改更新源为阿里云
ADD sources.list /etc/apt/sources.list

# Django项目文件
ENV POJ_PH /home/project
ENV PAC_PH /home/package

ADD mime.types $POJ_PH/
ADD cloud_account_service_server_nginx.conf $POJ_PH/
ADD cloud_account_service_server_uwsgi.ini $POJ_PH/
ADD cloud_account_service_server/ $POJ_PH/cloud_account_service_server/
ADD django3-cas-server-3.0.0.tar.gz $PAC_PH/

# 设置系统时区
ENV TZ Asia/Shanghai

# 设置语言
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
ENV LC_ALL C.UTF-8

# 安装基础环境
# 层数最多127层  可使用 && 拼接
RUN apt-get clean && apt-get update --fix-missing

# 系统环境
RUN apt-get install -y tzdata locales cron nginx vim dos2unix python3-pip python-dev  libmysqlclient-dev
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 安装python环境
RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple uWSGI==2.0.18 Django==3.0.2 python-cas==1.4.0 requests==2.22.0 mysqlclient==1.4.6 && \
         cd /home/package/django3-cas-server-3.0.0 && python3 setup.py install

# 映射端口
EXPOSE 8000
# 添加启动脚本
ADD run.sh .
# sh文件是windows下编辑的,直接执行会报错,文件格式需要转换
RUN dos2unix  run.sh && chmod 755 run.sh
ENTRYPOINT ["sh", "/run.sh"]

run.sh
#!/bin/bash

# 启动任务计划
# /usr/sbin/cron

# 启动django项目
nginx -c /home/project/cloud_account_service_server_nginx.conf
uwsgi --ini /home/project/cloud_account_service_server_uwsgi.ini
top
sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

命令行执行
docker build -t 镜像名称:版本号 上下文目录
docker build -t django3_cas_server:v1.4 F:\work\Docker\service\cas_server

在这里插入图片描述

docker images

查看镜像 在这里插入图片描述

运行镜像
docker run -it -d -p 8003:8000 django3_cas_server:v0.1
就可以访问Django的默认页面了!

在这里插入图片描述

导出镜像
docker save django3_cas_server:v2.0 > F:\work\Docker\service\cas_server\Ubuntu16.04_Django3_cas_server.tar
导入镜像
docker load             
关注
打赏
1664870321
查看更多评论
0.0540s