(一)docker引导式入门教程

         随着微服务架构的大势所趋,docker成为微服务中的一项必不可少的技能,说是技能倒不如说是一项基础,最近学了下springcloud系列的东西,本篇文章主要介绍下docker的入门级使用方法。

一、为什么要用docker

        软件开发中从开发到上线,一般都要经过开发、测试、上线。而每个人的计算机环境配置可能都不相同,谁能保证自已开发的软件,能在每一台机器上跑起来?每台机器必须保证:操作系统的设置,各种依赖和组件的安装都正确,软件才能运行起来。在windows上进行开发,到Linux上进行部署时这些环境又得重装,这样很就麻烦。而且系统如果需要集群,那每一台机器都得重新配置环境。如果有一种技术可以像java一样就好了,随时随地跨平台,这个时候docker就可以闪亮登场了,可以用它将运行程序的相关配置打包(打包成一个镜像),然后直接搬移到新的机器上运行,这样不就实现了随时随地跨平台的需求了。

二、简单说下docker是what?

简单的将,docker就是一种虚拟技术,有人可能会问什么是虚拟技术,用过vmware吧,这就是一种技术,通过软件的形式实现硬件带来的功能,docker也是这样的一种技术,我们可以把常用的软件部署到这个虚拟软件上运行,最终呢再把这种虚拟软件放到实体机运行,但是docker和vmware最大的区别是:docker是操作系统级别的虚拟,而vmware是操作系统级别的虚拟。有点也不言而喻了,那就是轻巧,占用资源少等等,各个方面体现中了微服务的特点。

三、docker中的四大概念

要想使用docker,不得不介绍docker的三个重要的概念:宿主机、镜像和容器。刚开始听到这三个名词的时候大家可能会慌了,什么玩意,怎么感觉没什么用,当你了解了一下这三个概念,在进行实操一遍后就会感慨:哦,docker不就是这玩转三玩意嚒。

(1)宿主机

       上面已经说过了,docker就是一种操作系统级别的虚拟技术,他就是一个容器,而每个容易必须有它存存活的宿主,正如寄生虫的宿主一样,说白了宿主机就是一个存放了docker容器的物理机,当然可以使物理机,也可以是实体机。

(2)镜像

       镜像(Image)是Docker中的一个模板。通过 Docker镜像 来创建 Docker容器,一个镜像可以创建出多个容器。
镜像是由一系列指令一步一步构建出来。如果和java作比较的话,你可以把镜像当做java里面的类,容器可以看成是java类的对象。

(3)容器

容器(Container)是基于镜像创建的运行实例,一个容器中可以运行一个或多个应用程序(jdk+开发的java应用程序)。Docker 可以帮助你构建和部署容器,你只需要把自己的应用程序或者服务打包放进容器即可。我们可以认为,镜像是Docker生命周期中的构建或者打包阶段,而容器则是启动或者执行阶段。

(4)仓库

仓库(Repository)是集中存放镜像文件的场所。
仓库分为公有仓库(Public)和私有仓库(Private)两种。
Docker公司运营的公共仓库叫做 Docker Hub,存放了数量庞大的镜像供用户下载。用户可以在Docker Hub注册账号,分享并保存自己的镜像,在Docker Hub下载镜像超级慢。国内的公有仓库包括阿里云 、网易云 等,可以提供用户更稳定快速的访问。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

四、docker容器的安装与启动

docker的官方文档:https://yeasy.gitbooks.io/docker_practice/content/install/centos.html

(1)安装之前可以先卸载下旧的的版本

yum remove docker docker-common docker-selinux  docker-engine

(2)安装所需的软件包


yum-utils 提供了 yum-config-manager 实用程序,并且 devicemapper 存储驱动需要device-mapperpersistent-data 和 lvm2 。

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

(3)设置镜像仓库(在这里设置为阿里云的)

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

(4)安装Docker CE

说明

Docker社区版(CE):为了开发人员或小团队创建基于容器的应用,与团队成员分享和自动化的开发管道。docker-ce提供了简单的安装和快速的安装,以便可以立即开始开发。docker-ce集成和优化,基础设施。(免费)Docker企业版(EE):专为企业的发展和IT团队建立谁。docker-ee为企业提供最安全的容器平台,以应用为中心的平台。(付费)
 

yum install docker-ce

过程中会输入y,很简单

(5)如果安装失败,卸载重新安装

卸载docker软件包:

yum  remove docker-ce

删除容器镜像

rm -rf /var/lib/docker

(6)启动停止docker

启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机自动启动docker: systemctl enable docker

五、安装docker-compose

使用pip安装docker-compose,因为pip可以为你自动对应版本问题

安装pip
yum -y install epel-release
yum -y install python-pip
pip --version

更新pip
pip install --upgrade pip

安装docker-compose    
pip install docker-compose 
如果报错:ERROR: Cannot uninstall 'requests'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall
则运行下面:
pip install --ignore-installed requests
如果报错:ERROR: cryptography 2.8 has requirement cffi!=1.11.3,>=1.8, but you'll have cffi 1.6.0 which is incompatible
运行:
yum install -y openldap-devel 
查看版本
docker-compose version


或者通过以下方式安装
Github源
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Daocloud镜像
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
卸载
sudo rm /usr/local/bin/docker-compose

docker-compose使用

version: '3'
services:
  # ---------------------------
  # consul集群,3个节点
  # ---------------------------
  consul:
    image: consul:1.2.0
    container_name: consul
    command: consul agent -server -client 0.0.0.0 -ui -bootstrap-expect=3 -data-dir=/consul/data -retry-join=consul2 -retry-join=consul3 -datacenter=blr
    restart: always
    ports:
      - "8300:8300"
      - "8400:8400"
      - "8500:8500"
      - "8600:8600/udp"
    networks:
      - net
  consul2:
    image: consul:1.2.0
    container_name: consul-2
    expose:
      - "8500"
      - "8600"
    command: consul agent -server -data-dir=/consul/data -retry-join=consul -retry-join=consul3 -datacenter=blr
    links:
      - consul
    networks:
      - net
  consul3:
    image: consul:1.2.0
    container_name: consul-3
    expose:
      - "8500"
      - "8600"
    command: consul agent -server -data-dir=/consul/data -retry-join=consul -retry-join=consul2 -datacenter=blr
    links:
      - consul
      - consul2
    networks:
      - net

networks:
  net:
    driver: bridge

执行命令

docker-compose -f docker-compose-consul.yml  up -d

六、配置国内镜像加速器

在拉去镜像的时候会发现非常的慢,慢到想从入门到放弃,所以我们就配置下国内的镜像吧,这边用的是阿里云的镜像加速器。

(1)登录阿里云打开控制台

可以使支付宝直接授权登录

(2)进入控制台找到产品与服务

(3)找到容器镜像服务

(6)进入后找到【镜像中心】的镜像加速器

第一次用的用户可能需要进行注册,按提示来就行。

(7)复制json串在宿主机中执行命令

vim /etc/1 docker/daemon.json
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
# 重载此配置文件
systemctl daemon-reload
# 重启 docker
systemctl restart docker

以上就配置好了镜像加速器,就可以拉去镜像了,速度是杠杆的

 

到此本片文章就结束了,下一篇主要介绍具体操作镜像和容器

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值