Docker部署前置条件说明
系统环境
CentOS7.x 64bit
CentOS6.5 64bit或者更高的版本
内核环境
Docker运行在CentOS7.x 要求系统为64bit、系统内核版本在3.10以上。
Docker运行在CentOS6.5或更高版本上,要修系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
确认系统版本
CentOS6.5
[root@zabbix /home/admin]# uname -r 2.6.32-642.4.2.el6.x86_64
CentOS7.5
[root@doc03 ~]# uname -r 3.10.0-862.el7.x86_64
Docker的安装方式(CE版本)
以下步骤均在CentOS7.5测试通过,机器IP"10.125.7.84"
1. yum安装
可参考:https://docs.docker.com/engine/install/centos
a: 安装依赖环境
笔者习惯性安装依赖环境
yum install vim wget lrzsz gcc* sysstat pcre* yum-utils -y
b: 配置yum源
通过阿里或官方渠道配置yum都可
# 阿里 yum-config-manager --add-repo # 官方 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
c: 显示可安装docker版本
yum list docker-ce --showduplicates | sort -r
d: 安装docker
笔者以18.06.3.ce-3.el7版本为例
yum install docker-ce-18.06.3.ce-3.el7 -y
2. 官方提供脚本进行安装
wget -qO- https://get.docker.com/ | sh
3. rpm包安装方式
未尝试过,不做说明
4. 二进制安装
未尝试过,不做说明
Docker配置优化
1. 启动配置文件路径
/lib/systemd/system/docker.service
a: 数据存储目录配置,笔者采用方案一
方案一
目录需手动创建,若为普通用户则需修改权限
在"ExecStart"配置项后添加 "--graph /opt/app/Docker"
方案二
dokcer数据默认存储路径
/var/lib/docker
docker数据存储新路径
/opt/app/Docker
ln -sv /var/lib/docker /opt/app/Docker
重启docker并查看docker信息
b: 开启远程控制访问(端口可随意定义)
在"ExecStart"配置项后添加 "-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
修改后配置
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock --graph=/opt/app/Docker
2. 镜像加速器配置,加速器地址可使用个人阿里云信息
mkdir -p /etc/docker && \ tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://tianciwang.mirror.aliyuncs.com"] } EOF
3. 变更socket存储路径
笔者修改后,发现k8s读取docker socket文件是默认路径,未找到修改k8s调用docker socket的配置,后续再调研。
启动Docker服务
1. 重新加载docker启动配置
systemctl daemon-reload
2. 启动docker并设置开机自启
systemctl start docker systemctl enable docker
3. 通过IP方式远程访问docker详情
[root@doc03 log]# docker -H 10.125.7.74 info | egrep "(Version|Dir)" Server Version: 18.06.3-ce Kernel Version: 3.10.0-862.el7.x86_64 Docker Root Dir: /opt/app/Docker
同理,在本地输入"docker info"也可以查到信息。
Docker拉取镜像测试加速器是否生效
镜像已tomcat为例,不需要注重过程
[root@doc03 log]# docker pull tomcat Using default tag: latest latest: Pulling from library/tomcat b9a857cbf04d: Pull complete d557ee20540b: Pull complete 3b9ca4f00c2e: Pull complete 667fd949ed93: Pull complete 661d3b55f657: Pull complete 511ef4338a0b: Pull complete a56db448fefe: Pull complete 00612a99c7dc: Pull complete 326f9601c512: Pull complete c547db74f1e1: Pull complete Digest: sha256:94cc18203335e400dbafcd0633f33c53663b1c1012a13bcad58cced9cd9d1305 Status: Downloaded newer image for tomcat:latest [root@doc03 log]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest 040bdb29ab37 2 months ago 649MB [root@doc03 log]# docker run -itd --name tomcat_test tomcat /bin/bash f37d9eebeb236b81d205dcf1959e82e068675bd039cc07ea4ac543903806b959 [root@doc03 yum.repos.d]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f37d9eebeb23 tomcat "/bin/bash" 43 seconds ago Up 43 seconds 8080/tcp tomcat_test
拉取tomcat镜像成功且创建容器也成功,说明docker服务可正常运行
到这里,Docker服务以及基本的测试就完成了,是不是很简单? 后续完善image、container、repository的简单使用。