番外篇 - Docker的使用

一、Docker的介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低

二、Docker的安装

1. Windows系统的安装

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,

下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

安装好后会有3个软件:

  • Docker QuickStart

    • shell. 这是一个已经配置好Docker的命令行环境
  • Kitematic

    • 这是Docker的GUI版本
  • Oracle VM Virtualbox

    • 虚拟机

win10 系统

现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V

下载地址:https://www.docker.com/get-docker

安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标

2. CentOS系统的安装

Docker支持以下的CentOS版本:

  • CentOS 7 (64-bit)
  • CentOS 6.5 (64-bit) 或更高的版本

1)前提条件

目前,CentOS 仅发行版本中的内核支持 Docker。

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

如果系统内核不符合,可以通过以下命令升级

复制代码
uname -r #查看版本号
​
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org #导入公钥数字证书
​
rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm #安装ELRepo
​
yum --enablerepo=elrepo-kernel install kernel-lt -y #安装kernel长期版本 lt表示long-term的意思,长期维护版本,也可以将kernel-lt改为kernel-ml,安装主线版本
​
#编辑grub.conf文件,修改Grub引导顺序,确认刚安装好的内核在哪个位置,然后设置default值(从0开始),一般新安装的内核在第一个位置,所以设置default=0
​
vim /etc/grub.conf
​
# 以下是/etc/grub.conf的内容
default=0        # 修改该值即可
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.103-1.el6.elrepo.x86_64)
​
# 重启并查看内核版本,将会发现内核已经更新

3. 软件的安装

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

复制代码
安装命令: yum install -y docker

三、软件的启动

  1. windows

可以直接图标直接启动

  1. liunx

启动命令:sudo systemctl start docker

四、docker的常用命令

  • 查询镜像

    • docker search 镜像名
  • 下载镜像

    • docker pull 镜像名:
  • 查看当前有什么镜像

    • docker images
  • 创建容器

    • docker run -tid image_id(前4位就可)
  • 进入容器

    • docker attach container_id(前4位就可)
  • 查看所有容器运行状态

    • docker ps -s
  • 查看所有容器

    • docker ps -a
  • 容器的名称

    • docker run -tid --name 容器名 image_id(前4位就可)
  • 封装新容器

    • docker commit container_id 镜像名:镜像版本号
  • 容器之间的通信

    • docker run -tid --name 容器名 --link 被链接的容器 image_id

    • 查看如何通信

      • 进入容器 查看/etc/hosts
  • 容器的删除

    • docker rm -f container_id(前4位就可)
相关推荐
爱吃芝麻汤圆1 小时前
k8s之NDS解析到Ingress服务暴露
容器·kubernetes
小白学大数据3 小时前
高并发爬虫的限流策略:aiohttp实现方案
爬虫
计算机小手4 小时前
提升文档管理:推荐一键Docker部署的全文索引搜索引擎工具
经验分享·搜索引擎·docker·全文检索·开源软件
东风微鸣4 小时前
职场生存指南:如何优雅应对"双面人"同事
docker·云原生·kubernetes·可观察性
Java侠4 小时前
graylog6.3 docker-compose部署全流程
运维·docker·容器·graylog·docker compose
云和数据.ChenGuang5 小时前
云计算k8s集群部署配置问题总结
云原生·容器·kubernetes·云计算
爱吃芝麻汤圆6 小时前
k8s之DevicePlugin
云原生·容器·kubernetes
kfepiza8 小时前
Dockerfile模板 笔记250801
docker·容器
赵文宇(温玉)9 小时前
1.6万 Star 的流行容器云平台停止开源
云原生·容器·开源·容器云·kubespere
David爱编程9 小时前
K8s 的工作机制原理:控制器如何“自动修复”
云原生·容器·kubernetes