前面有一些docker的常用命令,这篇文章是我这段时间的一些收获吧,dockerfile的编写,利用dockerfile打包自己想要的镜像(后台的服务)
dockerfile可以帮助我们直接打包好我们在服务器上面的操作,这是一种很NB(流氓)的操作,一般我们在服务器部署的时候,会有很多的命令去提前部署,但是docker 镜像打包好了之后,不要启动这个镜像,就可以省去很多的准备工作
1, FROM
- 1 一般来说这个命令不区分大小写,但是为了规范,区分命令,这里使用大写
FROM python:3.6
-2 这样就会构建一个基于python3.6的镜像,(省去配置环境很多烦恼),冒号前面是要的环境(小写),冒号后面是版本号。如果没有的话,会直接在电脑中拉取一个这样的镜像,因为你自己的镜像要基于这个镜像进行操作
2, WORKDIR /home/project/ -1 这是定义一个下面一些需要本来在终端的命令的路径,如果没有,会帮我们直接创造一个这样的路径
3, COPY . /home/project/ 【dockerfile的编写】-1 第一个 . 这个的意思就是把当前的所有文件复制到 第二个 /home.project/文件夹下,也可以指定一个文件或者文件夹拷贝到上面指定的目录下
4 , RUN cd Desktop/
- 1 这个命令的后面就是我们要在终端敲的命令,可以是多行,但是最好是一行,因为多一行docker就会多创建一层执行我们的命令,增加我们最后镜像的体积
- 1 这个命令就是定义我们的全局变量
- 1,这个如果经常写django的同事,应该都是之后,列表里面是什么,这里是在我们启动docker 的时候,会帮我们执行的命令,就是帮助我们启动我们所写的后台服务
RUN echo \
deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib\
deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib\
deb http://mirrors.aliyun.com/debian-security stretch/updates main\
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main\
deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib\
deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib\
deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib\
deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib\
> /etc/apt/sources.list && apt-get clean && apt-get update
一般我们启动后台的时候,不止就启动我们的后天服务,可能还有定时任务,还有celery异步任务,需要开启redis这里我的建议就是在我们的启动文件中,用我们的python直接去调用程序,避免dockerflie中终端占用的问题
推荐阅读
- linux|2022年云原生趋势
- 个人日记|K8s中Pod生命周期和重启策略
- k8s|k8s(六)(配置管理与集群安全机制)
- Go|Docker后端部署详解(Go+Nginx)
- docker|Docker
- 【快速学习】docker构建java项目实践
- Alpine Docker 安装 bash
- docker|docker导入dmp文件到oracle容器
- 阿里云docker开发者平台镜像上传和下载
- 工具|dockers 自定义tomcat