番外篇 - 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位就可)
相关推荐
alden_ygq26 分钟前
金丝雀/灰度/蓝绿发布的详解
云原生·容器·kubernetes·devops
小白学大数据1 小时前
Python爬虫中time.sleep()与动态加载的配合使用
爬虫·python·scrapy·数据分析
alden_ygq3 小时前
Kubernetes排错(十)-常见网络故障排查
云原生·容器·kubernetes
zxy983 小时前
Docker、Docker-compose、K8s、Docker swarm之间的区别
docker·kubernetes
alden_ygq4 小时前
K8S服务的请求访问转发原理
云原生·容器·kubernetes
Mr_wilson_liu5 小时前
k8s删除pv和pvc后,vg存储没释放分析
云原生·容器·kubernetes
alden_ygq7 小时前
K8S Svc Port-forward 访问方式
云原生·容器·kubernetes
hwj运维之路7 小时前
k8s监控方案实践(二):集成Alertmanager告警与钉钉Webhook通知
云原生·容器·kubernetes
心动啊1218 小时前
docker常用命令总结
docker·容器·eureka
python算法(魔法师版)8 小时前
Docker容器启动失败?无法启动?
linux·运维·nginx·docker·容器