| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> docker容器——介绍、安装、使用、流程解读、制作镜像与图形化工具 -> 正文阅读 |
|
[系统运维]docker容器——介绍、安装、使用、流程解读、制作镜像与图形化工具 |
目录准备工作首先,需要准备Ubuntu16.04.7环境,笔者是在vmware虚拟机中安装的该环境,附教程:https://blog.csdn.net/bruuuuuuuuno/article/details/121131478 docker简介简介——百度百科Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 ——docker中文社区链接:https://www.docker.org.cn/ Docker通常用于如下场景: ——wikipedia链接:https://zh.wikipedia.org/wiki/Docker 与虚拟机的区别Docker容器在Linux本地运行,并与其他容器共享主机的内核。它运行一个离散进程,不占用任何其他可执行文件更多的内存,从而使其更轻巧。(容器不是模拟一个完整的操作系统,而是对进程进行隔离。) 相比之下,虚拟机(VM)是完整的操作系统,一些系统级别的操作步骤往往无法跳过。通常,VM会产生大量开销,超出了应用程序逻辑所消耗的开销。 docker安装进入ubuntu命令行,输入以下代码,使用官方安装脚本自动安装:
如果报错,可能是不能翻到外网的原因,可以按照以下方法将命令进行修改:
如果还是报错,可以查看官方安装教程进行安装:https://docs.docker.com/get-docker/ 安装完成后,运行以下命令查看docker相关信息,来验证是否安装成功:
为了避免每次命令都输入sudo,可以设置用户权限(将当前用户添加到docker组里面),注意执行后须注销重新登录:
安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令:
docker测试实例hello worlddocker安装好后,让我们使用docker来运行第一个简单的实例。
接着,我们输入以下代码,来使用我们的镜像生成一个运行的容器:
(docker container run命令具有自动抓取 image 文件的功能。如果发现本地没有指定的 image 文件,就会从仓库自动抓取。因此,前面的docker image pull命令并不是必需的步骤。) 如果运行成功,将会得到如下的输出结果,输出完后,该容器将自动终止: docker流程解读docker引擎docker引擎是具有以下主要组件的客户端-服务器应用程序:
docker客户端使用 REST API接口或直接使用CLI命令来控制Docker守护程序或与Docker守护程序进行交互。其他Docker应用程序都使用基础API和CLI。REST API是基于web容器提供服务,因此客户端和服务器的通信是基于HTTP协议的,兼容和扩展性好。守护程序用于创建和管理Docker 对象,例如镜像获取,容器创建等。 执行流程Docker使用客户端-服务器架构。Docker 客户端与Docker 守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作。Docker客户端和守护程序可以 在同一系统上运行,也可以将Docker客户端连接到远程Docker守护程序。Docker客户端和守护程序在网络接口上使用REST API进行通信。 Docker客户端(Client) Docker注册中心(Registry)
image镜像Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。image 是二进制文件。实际开发中,一个 image 文件往往通过继承另一个 image 文件,加上一些个性化设置而生成。
image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。Docker 的官方仓库 https://hub.docker.com/ 是最重要、最常用的 image 仓库。 对于电脑中的image文件,可以采用如下命令进行查看和删除:
container容器image 文件生成的容器实例,本身也是一个文件,称为容器文件。关闭容器并不会删除容器文件,只是容器停止运行而已。
对于电脑中的container文件,可以采用如下命令进行查看、运行和删除:
制作自己的docker容器配置文件介绍Dockerfile文件Dockerfile是一个文本文件,用来配置 image。Docker 根据 该文件生成二进制的 image 文件。Dockerfile的每一行是一个命令——Docker镜像是使用 Docker build 命令构建的。在构建镜像时,Docker创建了所谓的“层(layers)”。每一层都记录了Dockerfile中的命令所导致的更改,以及运行命令后镜像的状态。
下面是一些常用的Dockerfile指令:
在网上看到一张图,十分形象地展示了这些指令的作用: .dockerignore文件.dockerignore文件表示写入该文件的路径要排除,不要打包进入image镜像文件。如果没有路径要排除,这个文件可以不新建。 requirements.txt文件用于记录所有python依赖包及其精确的版本号,以便新环境部署。 而为什么这些内容不直接在Dockerfile文件中构建呢,这就涉及到Docker镜像构建原理:
制作过程本次案例将选取一个基于flask框架的python应用进行制作,较为简单。首先,新建一个文件夹,存放项目代码:
然后新建requirements.txt文件,输入:
然后新建Dockerfile文件,输入:
打开命令行,创建Image镜像:
如果成功的话,输入docker image ls可以查看到: 然后输入以下代码生成容器:
发布image文件Docker官方维护了一个DockerHub的公共仓库,里边包含有很多平时用的较多的镜像。除了从上边下载镜像之外,我们也可以将自己自定义的镜像发布(push)到DockerHub上。
接着,为本地的 image 标注用户名和版本:
发布 image 文件:
docker图形化工具简介docker 图形页面管理工具常用的有三种,DockerUI ,Portainer ,Shipyard 。DockerUI 是 Portainer 的前身,这三个工具通过docker api来获取管理的资源信息。其实,docker 图形页面管理工具也是作为一个容器在电脑中运行,可以理解成别人做了一个镜像,这个镜像的功能是将docker的相关信息可视化,而你只需要根据他做的镜像在你的电脑里生成一个容器来运行,登录到容器指定的页面进行访问即可。平时我们常常对着shell对着这些命令行客户端,审美会很疲劳,如果有漂亮的图形化界面可以直观查看docker资源信息,是非常方便的。 这三种图形化管理工具中,以Portainer最为受欢迎。同时它们的安装方法也大同小异,故笔者将只叙述Portainer的安装过程。 Portainer安装首先,打开命令行,输入以下代码查看Portainer镜像源。
它如果输出一串字符串,说明运行成功了: 补充(暂无) 参考资料http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:04:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |