一、基础了解
一、应用场景
web 应用的自动化打包和发布
自动化测试和持续集成、发布
在服务型环境中部署和调整数据库或其他的后台应用
目前接触的是第三种
二、docker的优点
1、 简化程序 可以打包应用以及依赖到一个可移植的容器中,然后发布到任何流行的linux机器上,以实现虚拟化。也可以通过docker管理内部的 程序,方便快捷。
2、避免选择恐惧症(???) docker可以部署多种应用实例,比如web应用、后台应用、数据库应用、大数据应用、hadoop集群、消息队列等
3、节省开支 节省云空间
三、Docker架构
docker 使用客户端-服务器(C/S)架构模式,通过远程api来管理和创建docker容器;docker容器通过docker镜像来创建,两者 类似与类和对象的关系。
此处图片
images: docker镜像,用于创建docker容器的模板
container: 容器是独立运行一个或一组应用
client: docker客户端, 通过命令行或其他工具使用docker API与docker守护进程通信
host: docker主机, 一个物理或虚拟的用于执行docker守护进程和容器的机器
registry: docker仓库,用来保存镜像,如同代码仓库
docker machine: 简化docker安装的命令行工具
四、ubuntu安装docker
官方教程: https://docs.docker.com/install/linux/docker-ce/ubuntu/
中文教程: https://www.cnblogs.com/lighten/p/6034984.html
1、 根据菜鸟教程安装,报错
2、尝试官方文档方案安装
Docker CE: 社区版,免费 Docker EE: 企业版, 收费
基本没什么问题,就是下载速度有点慢。。。 安装完成!
我发现官方文档写的很好,先不看菜鸟教程了
五、开始了解
1、 查看docker版本
2、 查看更多docker信息
这里要注意,如果你不是root的话,会报错权限不足,这时有两个选择,其一是使用su切换到root,其二是将该账号加入group, 具体可以查看文档https://docs.docker.com/install/linux/linux-postinstall/。
3、运行hello-world
这里报错了,问度娘之后,原来是墙的原因,翻墙倒是没问题,但是现在用的不是我的电脑,而且也不可能以后都用我的vpn,所 以看看如何使用国内镜像。
方法一: 修改/etc/docker/daemon.json
但是文件不存在,查询后发现默认是没有这个文件的,要自己配置,https://blog.csdn.net/u013948858/article/details/79974796
上次配置完之后,运行'hello-world'成功了,但是后来关闭了命令行界面,再次打开时却不能运行, 好像是因为docker服务已经关闭了,也要说是因为配置的问题,搞了一会儿没成功。
解决方法:https://www.cnblogs.com/huhyoung/p/9495956.html 果然还是配置文件的问题,按照上面文档修改之后
然后运行之前的命令
成功显示!
4、Dockerfile
这次是教程的第二部分,利用Dockerfile创建了一个镜像,我之前还以为Dockerfile是自动生成的,现在 看是手写的。 首先创建目录app,以及三个文件,Dockerfile, app.py, requirements.txt,具体可 以看文档。
然后创建镜像
查看镜像列表
怎么多了一个python的镜像?
运行app
打开http://localhost:4000, 成功显示
接下来,在后台运行app
使用命令查看
可以看到确实正在运行,当然网页也可以继续访问
停止运行
后面的部分是把自己的镜像上传到私人仓库,然后演示如何在其他机器上运行。但是首先我还没有注册官方账号, 其次,我也没有第二个机器可以测试,不对,好像还有一个可以用,但是打不开官方网址,需要翻墙,等我稍后 回去再注册一个。
Last updated
Was this helpful?