编程笔记

lifelong learning & practice makes perfect

using docker in centos7

准备

基础环境

docker & docker-compose 安装配置

  1. 使用轻量服务器预装docker的镜像
    操作系统信息,lsb_release -a

    1
    2
    3
    4
    5
    LSB Version:    :core-4.1-amd64:core-4.1-noarch
    Distributor ID: CentOS
    Description: CentOS Linux release 7.9.2009 (Core)
    Release: 7.9.2009
    Codename: Core
  2. yum update,更新预装软件docker等

  3. 设置用户组
    将当前用户加入docker用户组

  4. 安装docker-compose
    yum安装的版本太老使用安装包安装,可以在github仓库的release页面下载
    下载解压到/usr/local/bin/目录下,增加执行权限,可使用如下命令安装

    1
    2
    3
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    sudo chmod +x /usr/local/bin/docker-compose
  5. 设置阿里云容器加速

    • 安装/升级Docker客户端
      推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce

    • 配置镜像加速器
      针对Docker客户端版本大于 1.10.0 的用户
      您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

      1
      2
      3
      4
      5
      6
      7
      8
      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<-'EOF'
      {
      "registry-mirrors": ["https://6ly480gk.mirror.aliyuncs.com"]
      }
      EOF
      sudo systemctl daemon-reload
      sudo systemctl restart docker
  6. 参考:

git 安装配置

在centos上使用yum安装的git版本太老,需要自己编译或通过第三方安装如ius

  1. 在阿里云提供的镜像上已有阿里云的镜像配置,在执行以下命令安装依赖时自动安装了v2.24.4版本的git:

    1
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
  2. 配置用户

    使用git config配置用户名,邮箱

    1
    2
    git config --global user.name "xxx"
    git config --global user.email "xxx"
  3. 配置~/.ssh/config

    1
    2
    3
    4
    5
    Host github.com
    HostName github.com
    IdentityFile ~/.ssh/id_rsa_git //秘钥位置
    PreferredAuthentications publickey
    User xxxx //这里填用户名
  4. ssh配置了key,在非root用户目录下,且以非root用户登录,ssh -T git@github.com报”Permission denied (publickey).”,使用-i指定秘钥后就ok了,是什么问题,没有使用当前目录下的key?
    通过ssh -vT git@github.com调试发现,ssh确实在~/.ssh下寻找了id_rsa的key,不存在,而配置文件config名错误(写成了congfig),
    导致ssh没有去读上面配置的id_rsa_git秘钥,没有找到秘钥就报错了

  5. 修改git秘钥的密码[可选]
    ssh-keygen -f id_rsa_git -p

其他工具安装

  1. fish安装 yum install fish

issue

  1. 通过秘钥ssh到服务器,配置并连接过服务器,更换秘钥后无法连接,报错.
    此时需要通过 ssh-keygen -R 服务器ip 删除记录,更换密钥后需要删除信息,不然无法使用新密钥登录
    -R命令作用:Removes all keys belonging to hostname from a known_hosts file. This option is useful to delete hashed hosts (see the -H option above).

  2. centos设置go/bin到PATH
    将export PATH=$PATH:/home/xxxx_user_name_xxxx/go/bin添加到~/.bash_profile不起效,还是每次都要重新source才能使用go安装到bin目录下的可执行程序.
    默认的bash和fish都是这样.

    解决: 将export PATH=$PATH:/home/xxxx_user_name_xxxx/go/bin添加到~/.bashrc后执行

    1
    source ~/.bashrc

使用

通过docker和compose可以很方便的部署搭建基础环境,部署应用,在github有个项目awesome-compose包含很多常用环境的样例配置文件,
通过这些样例可以快速搭建环境

ElasticSearch应用(ELK)搭建

  1. 基于awesome-compose中elasticsearch-logstash-kibana搭建

欢迎关注我的其它发布渠道