一、基础了解

一、应用场景

  • 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?