安装

安装必要条件

  1. 物理设备
          服务器/云服务器/虚拟机一台
  2. 系统版本
        centos7.x(x尽量大于2)/ubuntu 16.x。centos6是绝对没法玩了,就算勉强运行起来,出现各种未知bug会让你头皮发麻。
  3. 网络环境
        可连外网

安装环境

  • 防火墙
        如果是云服务器,不要启用防火墙,直接使用云服务器的访问策略即可。如果是实体服务器,最佳方案是在对外访问的服务器启动防火墙,其他内部服务器不启动防火墙。如果必须使用防火墙,卸载掉centos7自带的firewalld,转为使用iptables。
  • 端口
        防火墙开放500/udp ,4500/udp接口。

安装步骤

执行安装命令

  1. 创建软连接
    1. ln -s /data/docker /var/lib/docker
    2. Docker的镜像包括容器数据都存储在/var/lib/docker下面,如果没有单独挂载,那么默认使用根目录/的磁盘空间。如果不方便调整磁盘大小,那么可以通过软连接的方式将docker的存储存到数据盘上。
    3. 安装前需要检查docker存储路径是否有足够的磁盘空间。
    4. 如果是已经安装过docker的服务器需要调整,则需要先停止docker,拷贝数据,创建软连接,最后再重启docker。
  2. 使用root用户执行下面的命令行进行安装
curl https://releases.rancher.com/install-docker/17.09.sh | sh 

其中17.09为版本号,如需安装其他版本,可以修改该版本号重新安装,或者可以参考网址https://rancher.com/docs/rancher/v1.6/en/hosts/#supported-docker-versons,查询安装命令。
注:如果安装过程提示:container-selinux必须大于2.9,问题的原因是系统的yum源没有该软?件,解决办法是给服务器切换成阿里云的yum源。
Docker默认给root用户以及docker用户组的用户使用,如需给普通用户添加Docker使用权限,执行下列命令

usermod -aG docker your—user
  1. 设置Docker开机自启动
systemctl enable docker 
  1. 查询docker信息
docker info
  1. 配置阿里加速镜像
    参考:https://cr.console.aliyun.com/?spm=5176.doc51810.2.2.EuZtjr#/accelerator

删除主机

比如主机配置错误,或者无法解决的异常,需要删除主机,首先现在主机界面将服务疏散,然后删除。再依次执行下面的命令

docker container stop `docker ps -aq`   ##停掉所有在运行的容器
docker container prune   ##删除所有已经停止的容器
docker volume prune    ##删除所有未使用的数据卷
rm -rf /var/lib/rancher   ##清除之前接入rancher平台的数据,会提示设备繁忙,没有关系
systemctl restart docker ## 重启一下docker 服务

执行到这,服务器就清理干净了,如果需要重新接入rancher平台,就重新走一遍添添加主机流程

卸载

如果操作不慎,出现未知问题,则可以尝试卸载重装
命令:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

rm -rf /etc/systemd/system/docker.service.d

rm -rf /var/lib/docker

rm -rf /var/run/docker

运维

服务器常用命令:

常用命令:
查看当前文件大小:du -hsx * | sort -rh | head -10
查看磁盘情况:df -h
查看服务器状态:top
查看服务器内存:free
查看容器即时状态:docker stats
查看容器列表:docker container ls

容器占用磁盘过高解决办法:

1,先执行
// 清理掉没在使用的镜像

docker container prune 
docker image prune -a
docker system prune -a

2,查找是否有日志未收集
2.1 cd /var/lib/container //containers目录下面的大文件,是json.log结尾的是日志文件
2.2 du -hsx * | sort -rh | head -10 // 查看哪个占用比较大
2.3 cd xxx // 切换到大目录下
2.4 echo > xxx-json.log // 清除日志
3, 定位到是哪个容器没有收集日志
执行:docker container ls|grep xxx(刚刚大目录的前几位)

出现exit status 34状态

  1. 内存分析
cat /proc/buddyinfo
  1. 优化内存

方法一:周期性地或者在发现大块内存不足时,先进行drop_cache操作

echo 3 > /proc/sys/vm/drop_caches

方法二:必要时候进行内存整理,开销会比较大,会造成业务卡住一段时间(慎用)

echo 1 > /proc/sys/vm/compact_memory
posted on 2021-02-09 10:57  名泉  阅读(350)  评论(0编辑  收藏  举报