Docker实战django镜像[ubuntu]--2,制作镜像

谈谈docker

说一下我的感受,docker基于操作系统之上,你单独的文件可以docker一个镜像,不需要操作系统,docker出来的镜像文件就很小,但一般来说,跑的文件都依赖操作系统,你镜像一个ubuntu,是一个image,你在ubuntu上加一个python环境然后打包镜像,还是一个image,你在ubuntu上加一个拥有django模块的python环境,当然,还是一个image,可以理解为有3个layer。

云里雾里?
风里雪里?
这里有一本从天而降的docker掌法======》》Anthony_tester

docker基本语法

docker images     # 查看本机镜像
docker container ls -a          # 查看本机所有容器
docker rm  (CONTAINERID)   # 删除一个容器(根据CONTAINER ID),正在运行的要先停止
docker rmi  (IMAGE ID) # 删除一个镜像

制作镜像

1,压缩django_test

上一篇提到创建一个django_test项目,现在来制作镜像,首先压缩下文件

tar -zcvf HelloDocker.tar.gz django_test

2,Dockerfile制作镜像

同目录下vi一个 Dockerfile,内容如下

FROM python:3.6.8
LABEL maintainer="BatmanWu"
RUN pip install django==2.2.3
ADD  HelloDocker.tar.gz  /
WORKDIR /HelloDocker
EXPOSE 5001
CMD python manage.py runserver 0.0.0.0:5001

这里简单解释一下命令

1,FROM python:3.6.8 -----基于python:3.6.8 镜像
2, RUN … ----运行命令
3, ADD HelloDocker.tar.gz / ----把HelloDocker.tar.gz解压制作镜像的根目录下,记住ADD 命令自动解 压,自动解压,自动解
4, WORKDIR /HelloDocker ----- 已经解压好了,然后进入这个目录,就cd这个意思
5, EXPOSE 5001 ------ 开放端口5001(把镜像当作一台实例电脑)
6,CMD ----- 相比于RUN,CMD的命令是在镜像启动后再运行

要我详细说一说, 搞笑吧,我自己也不清楚 ,不过你可以去找找一本从天而降的docker掌法 ,说不定能帮你。

最最最关键的一步来了,制作镜像,末尾的点不能忘掉

 docker build -t wu/t  .

3,运行镜像

docker run  -d -p 8000:5001  wu/t

-d 后台运行
-p 端口映射,docker中镜像为5001,在阿里云实际运行端口为8000

查看容器状态
在这里插入图片描述
运行成功后,打开本地浏览
在这里插入图片描述

补充说明

在制作镜像时,运行到RUN pip install django==2.2.3,可能会慢一点,考虑更改下/etc/docker/daemon.json文件

{
        "registry-mirrors":["https://registry.docker-cn.com"]
}

就是把镜像源切换到中国区

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值