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 内核升级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值