目录
目的:
通过这篇博客你将学习到,dockers的基本使用方法,部署flask项目、可以将自己的项目打包为镜像,方便移植。
背景:
之前有大致学习过Dockers 的基础使用方法,但是到了用的时候还得查询,避免我这破记性,
还是整理一份流程,方便自己查看。
需要文件:
flask hellowolrd项目(就是测试用的)
步骤记录:
安装dockers 可以看我https://blog.csdn.net/qq_36530891/article/details/103419441
1、 安装python 镜像
- 安装前先进行对python的搜索
-
docker search python
-
进行安装命令,这里注意 python后的:代表的是要安装的版本好
-
dockers pull python
检查一下结果
-
docker images
-
2 根据镜像生成容器
- 把我们hello web放进 指定目录 ,我放在了 /home/下
docker run -itd --privileged=true -p 6000:5000 -e TZ=Asia/Shanghai --name hello_t -v /home/hello:/home/hello python
这是我常用创建的一些参数 ,大家可以直接拿来用,
有问题别找我。。。。。。。。。。。反正我用着还不错
解释 一下各个参数:
run ------> 故名思意你想问啥
-itd
-i | 以交互模式运行容器,通常与 -t 同时使用; |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
-d | 后台运行容器,并返回容器ID; |
--privileged=true
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。
-p
端口映射 : 前代表本机访问端口,:后代表docker容器的外出端口
-e TZ=Asia/Shanghai
当然是映射时区
-v
拿来用的话就是这样子的 前面代表本机的目录,后面就是docker里面的,没有的话会自动创建
详情:https://blog.csdn.net/hnmpf/article/details/80924494
--name
起个名字
最后那个python 就代表我们要镜像的源。
看看效果把:
3 进入容器
命令:
docker exec -it hello_t /bin/bash
4 运行项目
在 容器 中安装必要的项目环境。
运行成功
5 制作为镜像
为了 保存这个项目的环境,我们可以将当前容器,制作为镜像,这样我们下次创建里面的环境都是我们调试好的
docker commit -m 'test' -a 'z' hello_t hello_image
我们可以用hello_image 进行新的容器的制作,这个容器中不仅有python环境也有项目的环境。
当然他也可以打包发给别人使用
将制作好的镜像打成 tar 包
格式:docker save -o tar包的名字 镜像名
将打包好的 tar 包传给别人
格式:scp tar包所在路径 用户名@IP地址:要上传的路径
好了 今天就写到这吧 注意如果启动项目想看日志信息 可以使用
docker logs 对应容器名字
好了。。。。。