• Docker的安装


    这篇文章原文是我2016年10月份写的,当时在研究docker,上周六不经意翻了出来,由于3月换工作,新环境比较忙,没时间写些东西,所以先把之前写的东西放一下,做到每月都有4篇更新

    PS:Linux 内核需要3.10以上 centos7可以直接安装,centos6.5 用命令 uname –a检查内核,不是3.10需要升级
    以下是基于centos7的docker安装过程

    一.Docker的安装

    安装docker参照官方文档
    通过 yum安装
    Log into your machine as a user with sudo or root privileges.

    1.$ sudo yum update (更新yum到最新)

    2.$ sudo tee /etc/yum.repos.d/docker.repo <<-‘EOF’
    [dockerrepo]
    name=Docker Repository
    baseurl=https://yum.dockerproject.org/repo/main/centos/7/
    enabled=1
    gpgcheck=1
    gpgkey=https://yum.dockerproject.org/gpg
    EOF (修改相关配置文件)

    3.$ sudo yum install docker-engine(安装)

    4.$ sudo service docker start(启动)

    5.docker version (检查是否安装成功)

    6.$ sudo docker run debian echo “Hello World”(运行个示例)

    刚刚发现第三步执行失败,baseurl访问不通,那么上面这种方式已经不能成功部署,我们换个方式

    首先删除配置文件 rm -rf /etc/yum.repos.d/docker.repo

    执行命令sudo yum install docker

    然后启动sudo service docker start(启动)

    如果不是centos最新版本会启动失败,查看journalctl -xe,报错信息为

    Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disable selinux in docker (–selinux-enabled=false)

    执行下边操作

    vi /etc/sysconfig/docker

    将–selinux-enabled改为–selinux-enabled=false

    保存后再启动就会成功

    二.常用命令

    1. 启动服务 service docker start
    2. 查询镜像 docker search [name]
    3. 拉取镜像 docker pull


    4. 查看宿主机有哪些镜像 docker images

    5.新建容器 docker run -p [] --name [] tomcat-1
    Eg:
    docker run -p 5000:8080 --name container1 tomcat-1
    以image tomcat-1为模板,建立了一个tomcat容器 名字为container1 将宿主机的5000映射到容器的8080端口
    6.查看宿主机有哪些容器 docker ps –a

    7.停止容器 docker stop 名字或id
    8.启动容器docker start 名字或id
    9.进入容器内部的命令行
    docker exec -it container2 /bin/bash
    10.将war包考入到container1容器的指定目录下
    docker cp /home/sa/zcbl-web.war container1/:tomcat/webapps
    11.中国加速配置

    vi /etc/docker/daemon.json

    改为

    {
    “registry-mirrors”: [“https://registry.docker-cn.com”]
    }
    11.删除命令
    docker rm 删除容器
    docker rmi 删除镜像

    三.镜像制作

    一.基于mage制作

    1. touch Dockerfile
    2. 编辑这个文件
      # This is a comment
      FROM ubuntu:14.04
      MAINTAINER Kate Smith ksmith@example.com
      RUN apt-get -qq update
      RUN apt-get -qqy install ruby ruby-dev
      RUN gem install Sinatra
      **********************
      FROM 指令告诉 docker 使用哪个 image 源,
      接着是维护者的信息
      最后,我们指定了 3 条 run 指令。每一条 run 指令在 image 执行一条命令,比如安装一个软件包,
      在这里我们使用 apt 来安装了一些软件
      3. sudo docker build -t=“name:version” .

    二.基于容器做镜像

    1.将容器导出 docker export tomcat1 > latest.tar
    2.导入并重命名和版本号 cat latest.tar | docker import - examptomcat:new
    3.根据镜像创建容器docker run -p 5009:8080 --name y123321 -it 2a6321d2342f bin/bash

    四.私有库建立与使用

    1.docker run -p 5000:5000 registry:2.0
    建议
    docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

    2. Create or modify /etc/docker/daemon.json
    { “insecure-registries”:[“privateregistry ip:port”] }
    Eg:从192.168.57.128 往私服192.168.57.130:5000推拉需要在192.168.57.128这个机器上配置为
    { “insecure-registries”:[“192.168.57.130:5000”] }

    3.重启docker
    service docker restart或systemctl restart docker.service
    4.给镜像打标签
    $ docker tag hello-world:latest 192.168.57.130:5000/hello-mine:latest

    5.将镜像上传到私有库
    $ docker push 192.168.57.130:5000/hello-mine:latest

    6.从私有库中下载镜像
    先删除已经存在的同名镜像
    然后拉取 docker pull 192.168.57.130:5000/hello-mine1:latest

    7.仓库查看
    ①登录到私有仓库容器中查看
    docker exec -it 7abda12d7c2c bash
    docker exec -it 799c3fa43c08 sh
    存放路径/tmp/registry-dev/docker/registry/v2/repositories
    Last 路径是/var/lib/registry/
    ②也可以使命令查看:
    curl -X GET http://192.168.57.130:5000/v2/_catalog -k

    ③ 也可以在网页中查看

    五.Docker Universal Control Plane安装

    1. 先把必要端口开放
      firewall-cmd --add-port=443/tcp
      firewall-cmd --add-port=12383/tcp
      firewall-cmd --add-port=12385/tcp
      firewall-cmd --add-port=2376/tcp
      firewall-cmd --add-port=12379/tcp
      firewall-cmd --add-port=12376/tcp
      firewall-cmd --add-port=12380/tcp
      firewall-cmd --add-port=12382/tcp
      firewall-cmd --add-port=12381/tcp
      firewall-cmd --add-port=12384/tcp
      firewall-cmd --add-port=12386/tcp
    2. 下载启动docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock --name ucp docker/ucp install –i,按提示操作完成

      黑色部分为登录地址

      登录成功显示这个界面
      注意:要求内存要大于2g,硬盘大于3g,必要端口全部开放。

    搭建swarm集群

    搭建一个manager,一个consul,两个node
    192.168.57.128 node
    192.168.57.129 node
    192.168.57.130 manager
    192.168.57.131consul
    1.停掉多有节点的docker服务
    以deamo方式运行
    sudo nohup docker daemon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock &
    3. 在131上安装consul
    docker run -d -p 8500:8500 --name=consul progrium/consul -server –bootstrap
    4. 在130上安装manager
    docker run -d -p 192.168.57.130:4000:4000 swarm manage -H :4000 --replication --advertise 192.168.57.130:4000 consul://192.168.57.131:8500
    5. 将128,129节点加入集群
    docker run -d swarm join --advertise=192.168.57.128:2375 consul://192.168.57.131:8500
    docker run -d swarm join --advertise=192.168.57.129:2375 consul://192.168.57.131:8500
    6. 在128,129节点把各自2375端口打开
    firewall-cmd --add-port=2376/tcp
    7. 查看集群信息
    docker -H 192.168.57.130:4000 info

    Compose安装

    1.curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    2. chmod +x /usr/local/bin/docker-compose
    3. docker-compose --version
    参考资料:
    安装文件相关路径
    Centos7 docker目录/var/lib/docker
    配置文件目录/usr/lib/systemd/system/docker.service

    http://bbs.chinaunix.net/thread-4166674-1-1.html 命令各个参数意义,中文版
    https://docs.docker.com/ 官网
    https://www.daocloud.io/mirror.html#accelerator-doc 加速
    http://www.voidcn.com/blog/wanglei_storage/article/p-4413062.html 内核升级

  • 相关阅读:
    学习视觉SLAM需要会些什么?
    Problem C: 凯撒加密
    二叉树的遍历
    同名在线查询系统微信小程序源码下载支持多种流量主
    《Java编程思想》读书笔记(四)
    vmware网卡(网络适配器)桥接、NAT、仅主机3种模式解析
    Arcgis 数据操作
    《代码大全2》第10章 使用变量的一般事项
    5-羧基四甲基罗丹明TMR标记Polyacetal聚缩醛/HA透明质酸纳米载体TMR--Polyacetal|TMR-HA
    m基于MATLAB-GUI的GPS数据经纬度高度解析与kalman分析软件设计
  • 原文地址:https://blog.csdn.net/m0_67391377/article/details/126327607