zoukankan      html  css  js  c++  java
  • docker-centos 7.2

    1、安装准备

    预防volumes项出现Permission denied

    setenforce 0                       #关闭selinux防火墙,临时关闭。永久关闭需改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled并重启
    systemctl stop firewalld.service   #关闭firewalld防火墙
    yum update                         #一定要做,否则后续build出错

    2、安装Docker

    yum install docker
    docker -v        ##查看版本
    service docker start ##开启docker服务才能用其他命令
    chkconfig docker on
    docker images
    

    3、配置Docker加速器

    3.1、阿里云的加速器,注意自己注册申请,cd6xo91e.mirror.aliyuncs.com换成自己的。

    vim /etc/docker/daemon.json 这个json文件不存在的,不需要担心,直接编辑 
    把下面的贴进去,保存,重启即可

    tee /etc/docker/daemon.json <<-'EOF' 
    {
    "registry-mirrors": [ "https://cd6xo91e.mirror.aliyuncs.com"]
    }
    EOF

    3.2、老版本直接修改/etc/systemd/system/docker.service文件:将/etc/systemd/system/docker.service 文件的“ExecStart=/usr/bin/docker-current daemon“替换成

    ExecStart=/usr/bin/docker daemon --registry-mirror=https://cd6xo91e.mirror.aliyuncs.com
    也可以使用如下的脚本,
    # 系统要求 CentOS 7 以上,Docker 1.9 以上。 
    sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service  //如果不存在则执行该条
    sudo sed -i "s|ExecStart=/usr/bin/docker-current daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://cd6xo91e.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service # (sed -i 's/要被取代的字串/新的字串/g' )

    3.3、重启

    sudo systemctl daemon-reload 
    sudo service docker restart

    注意:也可以配置daocloud的加速器,我的:0f3bdc1e.m.daocloud.io。

    4、安装docker-Compose(持续化、简化docker运行时的定义命令)

    yum install docker-compose

    如果不行就用下面方式

    curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose
    # 上面超慢的,可以直接到https://github.com/docker/compose/releases下载对应版本的文件(这里是docker-compose-Linux-x86_64),并放置到/usr/local/bin/下改名为docker-compose
    chmod +x /usr/local/bin/docker-compose
    docker-compose -v         ##查看版本
    docker-compose up         ##升级
    docker-compose up -build  ##如果yuml或者dockerfile文件修改了,直接用改命令重构

    5、进入容器bash

    5.1 使用docker exec

    docker exec -it container_id bash

    5.2 使用nsenter(在宿主机使用容器的shell)

    nsenter安装:

    cd /tmp
    wget https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.tar.gz
    tar zxf util-linux-2.29.tar.gz
    cd util-linux-2.29
    ./configure --without-ncurses
    # 如果上面出现gcc错误,安装gcc: yum -y install gcc
    make nsenter
    cp nsenter /usr/local/bin 

    nsenter使用:

    PID=`docker inspect --format "{{ .State.Pid }}" node1 `
    nsenter --target $PID --mount --uts --ipc --net --pid
    # 上面2条命令可以合一:
    nsenter --target `docker inspect --format "{{ .State.Pid }}" node1` --mount --uts --ipc --net --pid
    
    # ok了可以随便输入linux命令检查一下看看,比如:
    ls #查看文件
    ls -l #查看权限

    6、Docker清除命令

    docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi -f $(docker images -q -a)

    7、Docker仓库

    cd /ansible
    docker build -t lxsky/ansible:2.9 .
    docker push lxsky/ansible:2.9
  • 相关阅读:
    【Spring】 AOP Base
    【Offer】[20] 【表示数值的字符串】
    【Offer】[19] 【字符串匹配】
    【设计模式】代理模式
    【LeetCode】[0002] 【两数之和】
    【Offer】[18-1] 【在O(1)时间内删除链表节点】
    【Offer】[18-2] 【删除链表中重复的节点】
    【Offer】[17] 【打印1到最大的n位数】
    【Offer】[16] 【数值的整数次方】
    python_内置函数
  • 原文地址:https://www.cnblogs.com/lxsky/p/6027215.html
Copyright © 2011-2022 走看看