Docker介绍、安装和使用

一、Linux 容器介绍

在介绍Docker前,需要先了解一个概念Linux容器,Linux容器是与系统其它部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供进程所需的全部文件。容器提供的镜像包含了应用所有依赖项,因此从开发到测试再到生产的整个过程,它都有可移植性和一致性。
容器与虚拟化对比
虚拟化:是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,进行抽象、转换后呈现出现,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。虚拟化使得许多操作系统可同时在单个系统上运行
容器:共享同一个操作系统内核,将应用进程与系统其它部分分隔开。相比传统的虚拟化在硬件层面的虚拟化,容器则是在操作系统层面上的虚拟化。
在这里插入图片描述
容器除了运行其中应用外,基本不消耗额外的系统资源,传统虚拟机运行10个不同的应用就要启用10个虚拟机,而Docker只需要启动10个隔离的应用即可。因此容器能够实现虚拟化同等的效果的情况下,消耗的资源比虚拟化要少。

二、Docker的介绍

Docker属于Linux容器的一种封装,提供简单易用的容器使用接口,是目前最为流行的Linxu容器解决方案。Docker将应用程序与程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就如同在真实的物理机上运行一样,因此有Docker,就不用担心环境问题。
Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

2.1 Docker在开发和运维中的优点

快速部署和交付:使用Docker可以搭建一套标准的开发环境,开发和测试都可以模拟真实的环境进行开发和测试,以防止环境不同带来的不必要问题。同时Docker可以快速的删除和创建,快速迭代产品,节省开发,测试,部署的时间。
充分高效的利用有限资源:Docker是内核级别的虚拟化,不需要额外的虚拟化程序支持,需要硬件资源少,性能也高。
方便迁移和扩展:Docker几乎可以在任意平台上运行。包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等

2.2 Docker的三个主要概论

Docker image:镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。
Docker container:容器是Dockers的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。
Docker hub/registry:共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。
镜像相当于打包好的版本,镜像启动之后运行在容器中,仓库就是装存储镜像的地方。

三、Docker的安装

安装Docker存在两种方式,第一种方式为从仓库获取进行安装;第二种方式为直接下载镜像进行安装。这两种安装方式可以参见官方安装文档的CentOS安装
仓库获取安装
1.安装yum-utils,yum-utils是管理repository及扩展包的工具 (主要是针对repository) 。

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

2.建立稳定的仓库。

$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

3.可选操作,是否使能edge和test仓库。

sudo yum-config-manager --enable docker-ce-edge //是能edge仓库
sudo yum-config-manager --enable docker-ce-test //使能test仓库
sudo yum-config-manager --disable docker-ce-edge //去使能edge仓库
sudo yum-config-manager --disable docker-ce-test //去使能test仓库

4.Docker的安装

sudo yum install docker-ce 

直接下载rpm包进行安装
1.从官网上选择rpm安装包

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 

2.安装docker

sudo yum install docker-ce

四、Docker的常用命令

Docker镜像命令

获取centos镜像:docker pull centos
查看镜像:docker images (docker镜像保持在/var/lib/docker目录下)
查看镜像详细信息:docker inspect [NAME:tag]
搜索镜像:docker search [NAME:tag]删
除镜像:docker rmi [NAME:tag&ID]​  例如docker rmi  docker.io/tomcat:7.0.77-jre7   或者  docker rmi b39c68b7af3
-f:强制删除
 创建镜像:docker commit
 导入镜像:cat 镜像.tar |docker import - centos:7
 存出镜像:docker save -o centos:7.tar centos7
 载入镜像:docker load --imput cnetos7.tar​ 或者:docker load < centos7.tar
 上传镜像:docker push
 添加标签后在上传,如下:​ docer tag centos:7 mark/centos:7​ docker push mark/centos:7

Docker容器命令

新建容器:docker create -it centos:tag
启动容器:docker start NAME
创建并后台启动:docker run --name mynginx -d nginx
-d 守护进程模式
创建启动并连接容器并启动一个bash终端:docker run -it mynginx /bin/bash
查看容器:docker ps -a
关闭容器: docker stop NAMEdocker stop它首先会向容器发送一个SIGTERM信号,等一段时间后,默认10秒后,在发送SIGKILL来终止容器
启动容器:docker start NAME
强行终止:docker kill ID
进入容器运行命令:docker exec -it ID /bin/bash (或者:docker exec -it ID /bin/sh)
当然,也可以不进入容器运行命令:docker exec NAME ps
删除容器:docker rm ID
删除运行中的容器:docker rm -f ID
导出容器:docker export ID > name.tar
导入容器:cat name.tar | docker import - test/centos:7

参考

1.Docker入门教程
2.Docker(一) 入门简介和在CentOS 7 上安装
3.Docker 容器命令
4.Docker官网–安装篇
5.什么是 Linux 容器?

猜你喜欢

转载自blog.csdn.net/polo2044/article/details/83042502