Docker入门(Docker安装,镜像拉取,容器)

前言:

本篇博客主要简述了Docker的一些概念及Docker入门

一、Docker简述

1.1 Docker是什么?

Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs),

1.2 什么是Docker容器

1.Docker 容器类似于一个轻量级的沙箱, Docker利用容器来运行和隔离应用
2.容器是从镜像创建的应用运行实例 它可以启动、开始、停止 删除,而这些容器都是彼此相互隔离、互不可见的
3.可以把容器看作一个简易版的 Linux 系统环境(包括 root 用户权限、进程空间、用户空间和网络空间等)
以及运行在其中的应用程序打包而成的盒子

1.3 Docker的用途

目前Docker有三大用途:

1.提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境
2.提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容
3.组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构

1.4 Docker与虚拟化

传统来看,虚拟化既可以通过硬件模拟来实现,也可以通过操作系统软件来实现 而容器技术则更为优雅,
它充分利用了操作系统本身已有的机制和特性,可以实现远超传统虚拟机的轻量级虚拟化 因此,有人甚至把它称为
“新一代的虚拟化”技术,并将基于容器打造的云平台亲切地称为“容器云”毫无疑问,
Docker 正是众多容器技术中的佼佼者,是容器技术发展过程中耀眼的一抹亮色

图解:
在这里插入图片描述

1.5 Docker虚拟化的好处

好处一:应用部署方便:

在日常的工作中Docker
提供了一种更为聪明的方式,通过容器来打包应用、解藕应用和运行平台这意味着迁移的时候,只需要在新的服务器上启动需要的容器就可以了,无论新旧服务器是否是同一类型的平台
这无疑将帮助我们节约大量的宝贵时间,并降低部署过程出现问题的风险

好处二:服务器同等配置,性能更优,利用率更高:

让我们假设你有一个容器镜像(image)容量是1GB,如果你想用一个完整的虚拟机来装载,你得需要容量的大小是1GB乘上你需要虚拟机的数量。但使用Linux容器虚拟化技术(LXC)和AuFS,你可以共享1GB容量,
如果你需要1000个容器,假设他们都运行在同样的系统影像上,你仍然可以用稍微比1GB多一点的空间来给容器系统
因此,借助经过全面调优的容器系统,你就可以在同一硬件上拥有数量比使用Xen虚拟机或KVM虚拟机多出四到六倍的服务器应用实例。

1.6 Docker核心概念

Docker大部分的操作都围绕着它的三大核心概念: 镜像、容器和仓库

二、Docker安装

2.1检查CentOS 7的内核版本:

这里注意CentOS 7版本最低3.10的版本 !!!

代码如下(示例):

uname -r

2.2卸载可能存在的Docker旧版本

代码如下(示例):

yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine 

2.3.安装必要的系统工具

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

2.4. 配置阿里云Docker Yum源(从原站下载速度太慢了,换阿里云下载贼快)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

默认开启的是stable稳定版仓库,如果想要安装test测试版或者是边缘版本可使用如下命令开启相关模式,关闭的话只需要将–enable参数换成–disable(可选)

yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test

2.5 更新yum缓存

yum makecache fast

2.6 安装docker-CE

docker-ce(社区版,免费)
docker-ee(专业版,收费)

yum -y install docker-ce

2.7 启动Docker

systemctl start docker

2.7.1 查看Docker状态

systemctl status docker

三、Docker镜像的拉取

镜像
Docker 运行容器前需要本地存在对应的镜像, 如果镜像不存在, Docker 会尝试先从默认镜像仓库下载(默认使用 Docker Hub 公共注册服务器中的仓库), 用户也可以通过配置,使用自定义的镜像仓库

3.1 配置阿里云加速器

在浏览器中搜 https://www.aliyun.com/
进入阿里云 搜容器镜像服务 进入控制台 --》镜像工具找到自己的镜像加速地址

3.2 在docker中修改相关配置

vi /etc/docker/daemon.json
添加下面内容(地址替换成上面的加速器地址):
      {
        "registry-mirrors":["你的阿里云专属加速器地址"]
      }

3.3 拉取镜像

docker pull 镜像名

3.4 查看宿主机上的镜像

docker images

3.5 删除镜像

ocker rmi 镜像ID/标签

四、Docker容器

4.1 查看当前运行的容器&查看所有容器

docker ps
docker ps -a

4.2 删除容器

docker rm 容器ID

4.3 创建容器

docker create -it --name tomcat01 centos:latest

注1:命令说明
create:关键字
centos:latest:即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检查本地是否存在指定的镜像,
不存在就从公有仓库下载
-it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端
–name:指定生成的容器的名字,允许空,如果不指定会自动生成

4.4 启动容器

docker start 容器ID/name

4.5 进入容器

docker exec -it 容器ID/容器NAME /bin/bash
## 简写
docker exec -it 容器ID/容器NAME bash

4.6 创建\启动\进入容器(run=create+start)

docker run -it -d --name webapp centos:latest 

参数说明:
-p:端口映射,格式为:主机(宿主)端口:容器端口
-P: 注意是大写P,使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口
-d:后台运行模式
–name:容器的名字

4.7 退出容器

exit

4.8 容器启动、停止、重启容器命令

 7.1 启动、停止、重启容器命令  
 docker start 容器ID|name|name:tag
 docker stop 容器ID|name|name:tag
 docker restart 容器ID|name|name:tag
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值