文档章节

centos7系统docker安装

_sylee
 _sylee
发布于 2017/02/15 14:56
字数 656
阅读 35
收藏 0

安装方法一:
1、yum安装,添加yum源

# 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

yum install docker-engine -y

2、创建两个lv:data、metadata作为docker的存储,不做格式化。metadata大小在20-30G。
/dev/vg-docker/data
/dev/vg-docker/metadata

3、修改docker启动文件,添加红色部分,该方法适用于1.11版本以下,1.12以上版本请参考安装方法二中配置文件部分

vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/docker daemon -H fd:// --selinux-enabled=false --storage-opt dm.datadev=/dev/vgdocker/data --storage-opt dm.metadatadev=/dev/vgdocker/metadata

4、启动docker
systemctl daemon-reload
systemctl start docker

安装方法二:
二进制文件安装
1、下载二进制文件
wget https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz
yum install -y audit-libs-python checkpolicy libcgroup libseccomp  libselinux-python libsemanage-python libtool-ltdl policycoreutils-python  python-IPy setools-libs docker-engine-selinux

2、压文件,将文件拷贝到/usr/bin/目录
tar zxvf docker-latest.tgz
mv docker/* /usr/bin/

3、创建两个lv:data、metadata作为docker的存储,不做格式化。metadata大小在20-30G。
/dev/vg-docker/data
/dev/vg-docker/metadata

4、设置开机启动文件
#docker version 1.11

tee /usr/lib/systemd/system/docker.service <<-'EOF'
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
EnvironmentFile=/etc/sysconfig/docker
ExecStart=/usr/bin/docker daemon -H fd:// $OPTIONS
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
[Install]
WantedBy=multi-user.target
EOF
tee /usr/lib/systemd/system/docker.socket <<-'EOF'
[Unit]
Description=Docker Socket for the API
PartOf=docker.service
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=root
[Install]
WantedBy=sockets.target
EOF
tee /etc/sysconfig/docker <<-'EOF'
# /etc/sysconfig/docker
# --bip: bridge IP address
# --insecure-registry: insecure private registry
# --storage-driver=devicemapper: need 2 lv (logical volume) for data and metadata
OPTIONS='--storage-driver=devicemapper --storage-opt dm.datadev=/dev/vg-docker/data --storage-opt dm.metadatadev=/dev/vg-docker/metadata --storage-opt dm.override_udev_sync_check=true'
EOF

#docker version 1.12

tee /usr/lib/systemd/system/docker.service <<-'EOF'
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
EnvironmentFile=/etc/sysconfig/docker
ExecStart=/usr/bin/dockerd $OPTIONS
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
tee /etc/sysconfig/docker <<-'EOF'
# /etc/sysconfig/docker
# --bip: bridge IP address
# --insecure-registry: insecure private registry
# --storage-driver=devicemapper: need 2 lv (logical volume) for data and metadata
OPTIONS='--storage-driver=devicemapper --storage-opt dm.datadev=/dev/vg-docker/data --storage-opt dm.metadatadev=/dev/vg-docker/metadata --storage-opt dm.override_udev_sync_check=true'
EOF

5、启动docker
systemctl enable docker
systemctl start docker


更改docker存储根目录添加参数--graph=/data/docker

© 著作权归作者所有

共有 人打赏支持
_sylee
粉丝 2
博文 4
码字总数 2300
作品 0
郑州
运维
Docker实践(一):安装

前提 系统:我这边都使用虚拟机安装的CentOS7,具体安装可以参考:Windows安装Linux虚拟机(CentOS7) yum:推荐更新下yum:yum update;我们这边CentOS7自带docker,如果没有安装docker可以用y...

u010246789
2016/12/31
0
0
centos7系统下 docker 环境搭建

运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段) centos7一定要安装64位, docker目前不支持32位内核 ##看准了, 是...

qq_33326449
03/20
0
0
CentOS快速安装docker服务

  前言   2017 年 3 月,Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月。企业版本是需要付费的,强调安全。      d...

linux运维菜
08/26
0
0
CentOS7安装Docker,运行Nginx镜像、Centos镜像

1、环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2、通过yum命令直接安装,yum install docker 3、启动Docker,并将其设置为开机启动 (1)启动,systemctl start docker.service (2)开...

GKTest
2015/07/02
0
5
centos7安装docker总结

最近工作中需要用到docker,所以决定自己搭建一个docker环境,于是选择在virtualbox上安装centos7虚拟机,并在虚拟机上安装docker,没搭建环境之前,觉得应该很简单,没想到折腾了好长时间。...

被钓的小鱼
07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
39
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部