Linux之详解Docker容器技术及其常用命令

docker容器是一种容器虚拟化技术,主要是为了解决开发和运维在软件或代码交付时,由于环境差异或配置差异,导致软件无法正常运行的问题。通过docker可以将软件及其软件运行环境进行打包,也就是镜像,在其他主机上只需要一个docker引擎,就可以将打包好的软件一键部署到其他主机上。

一、Docker

1. docker的介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

docker的基本组成:

(1) 镜像:镜像是一种轻量级,可执行的独立软件包,用来打包软件及软件运行环境,它包含运行某个软件所需要的所有内容,包括代码、运行时、库、环境变量和配置文件。它可以看作是一个只读模板,镜像可以用来创建docker容器,一个镜像可以创建多个容器

(2) 容器:容器是用镜像创建的运行实例,通过容器可以独立运行一个或一组应用,对容器可以进行启动、开始、停止、删除等操作,每个容器都是相互隔离的

(3) 仓库:仓库是集中存放镜像文件的场所,仓库分为公开仓库和私有仓库两种

2. 传统虚拟化与容器技术的对比

(1)传统虚拟机技术

传统虚拟机技术是一种带环境安装的解决办法,它可以在一个操作系统中再运行另一个操作系统,如在windows中运行centos、ubuntu等,应用程序对此毫无感知,因为虚拟机看上去跟真实的系统一模一样,而对于底层系统来说,虚拟机就是一个普通的文件,删除、创建对其他部分没有影响。它保证了应用程序、操作系统和硬件之间的逻辑关系不变。但它也有许多不足,占用资源比较多,启动速度慢

(2)docker容器技术

linux容器不是模拟一个完整的操作系统,而是对进程进行隔离,通过容器可以将软件运行所需要的所有资源打包到一个隔离的容器中,容器内的应用进程直接运行在宿主机的内核,共享宿主机中的资源,它的解决了传统虚拟机技术的缺点,docker占用资源少,由于不需要启动操作系统,加载内核,启动速度快(秒级)

Linux之详解Docker容器技术及其常用命令

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上在运行所需要的应用进程,而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,因此容器要比虚拟机更轻便。每个容器之间相互隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源

二、docker的搭建

实验准备:搭建docker的yum源中包含如下软件包docker-ce-18.09.6-3.el7.x86_64.rpm、docker-ce-cli-18.09.6-3.el7.x86_64.rpm、containerd.io-1.2.5-3.1.el7.x86_64.rpm、container-selinux-2.21-1.el7.noarch.rpm

1. 搭建docker的yum源,用来解决软件依赖性

Linux之详解Docker容器技术及其常用命令

2. 安装和开启docker

Linux之详解Docker容器技术及其常用命令

 3. 查看docker是否开启

Linux之详解Docker容器技术及其常用命令

三、docker常用命令

1. 帮助命令

2. 镜像命令

3. 容器命令

-p参数指定容器端口的四种指定方式:

(1)-p 容器端口映射到主机所有地址的一个动态端口

(2)-p :容器端口映射到主机指定端口

(3)-p ::容器端口映射到主机指定ip的动态端口

(4)-p ::容器端口映射到主机指定ip的指定端口

attach与exec的区别:

(1)attach:直接进入容器启动命令的终端,不会启动新的进程,在使用exit退出时,容器会关闭

(2)exec:在容器中打开新的终端,并且可以启动新的进程,使用exit退出时,容器不会关闭

四、docker容器实现网页游戏

1. 下载game2048镜像(game2048.tar)

2. 导入镜像到docker容器中

Linux之详解Docker容器技术及其常用命令

3. 后台运行

查看端口,如果出现80则证明,名为vm1的容器已经创建并运行了,如果有报错,可以查看80端口是否被占用。

Linux之详解Docker容器技术及其常用命令

4. 网页中查看

Linux之详解Docker容器技术及其常用命令

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树容器(docker)安装docker8818 人正在系统学习中

来源:三十八度的风

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月4日
下一篇 2019年7月4日

相关推荐