centos Install Docker

  1. 安装必备软件
    $ yum -y install iptables  iptables-services net-tools vim wget
    $ wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker;
    $ echo "[  -f ~/.bashrc_docker  ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc


    运行如上命令可使用docker-enter命令进入容器
    下载的脚本代码如下:

    # Some useful commands to use docker.
    # Author: yeasy@github
    # Created:2014-09-25
    
    alias docker-pid="sudo docker inspect --format '{{.State.Pid}}'"
    alias docker-ip="sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}'"
    
    #the implementation refs from https://github.com/jpetazzo/nsenter/blob/master/docker-enter
    function docker-enter() {
        #if [ -e $(dirname "$0")/nsenter ]; then
        #Change for centos bash running
        if [ -e $(dirname '$0')/nsenter ]; then
            # with boot2docker, nsenter is not in the PATH but it is in the same folder
            NSENTER=$(dirname "$0")/nsenter
        else
            # if nsenter has already been installed with path notified, here will be clarified
            NSENTER=$(which nsenter)
            #NSENTER=nsenter
        fi
        [ -z "$NSENTER" ] && echo "WARN Cannot find nsenter" && return
    
        if [ -z "$1" ]; then
            echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
            echo ""
            echo "Enters the Docker CONTAINER and executes the specified COMMAND."
            echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
        else
            PID=$(sudo docker inspect --format "{{.State.Pid}}" "$1")
            if [ -z "$PID" ]; then
                echo "WARN Cannot find the given container"
                return
            fi
            shift
    
            OPTS="--target $PID --mount --uts --ipc --net --pid"
    
            if [ -z "$1" ]; then
                # No command given.
                # Use su to clear all host environment variables except for TERM,
                # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
                # and start a login shell.
                #sudo $NSENTER "$OPTS" su - root
                sudo $NSENTER --target $PID --mount --uts --ipc --net --pid su - root
            else
                # Use env to clear all host environment variables.
                sudo $NSENTER --target $PID --mount --uts --ipc --net --pid env -i $@
            fi
        fi
    }
    docker-enter

    安装后可以使用如下命令
    docker-pid <container> 获取容器的pid
    docker-ip <container> 获取容器的ip
    docker-enter <container>  进入容器
    docker exec -it 92f5506946e7 /bin/bash
    docker-enter <container> ls 在容器中执行命令
    备用地址:wget -p ~ https://github.com/mycheryhr/mycheryhr.github.io/blob/master/.bashrc_docker

  2. 安装Docker
    yum -y install docker
  3. 下载centos镜像
    docker pull centos
  4. 查看centos 镜像
    docker images centos
  5. 运行一个Docker容器
    docker run -itd centos /bin/bash
    -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
    -i 则让容器的标准输入保持打开
    -d 让 Docker 容器在后台以守护态(Daemonized)形式运行
    -p 创建端口映射,指定宿主机端口和容器端口,添加映射关系
    -v 挂载一个本地主机目录到容器中 (一次可挂载多个)
  6. 搜索Ubuntu镜像
    docker search Ubuntu
  7. 显示正在运行的容器(需要先创建容器)
    docker ps
    docker ps –a  显示所有的容器(包括关闭或已经退出的容器)
  8. 停止后台运行的容器
    docker stop "容器ID"
  9. 删除容器
    docker rm "容器ID"
  10. 强制删除一个镜像
    docker rmi -f "镜像ID"
  11. 导出和导入容器
    将容器快照导出到本地文件:

    将容器快照导入到镜像:
    cat centos.tar | docker import - Test/centos:v1.1
    备注:Test/centos 为Repository仓库  centos:v1.1为Tag
    也可以指定URL导入
    docker import http://example.com/exampleimage.tgz example/imagerepo

  12. Docker升级
    yum remove docker 
        docker-client 
        docker-client-latest 
        docker-common 
        docker-latest 
        docker-latest-logrotate 
        docker-logrotate 
        docker-selinux 
        docker-engine-selinux 
        docker-engine
    
    yum remove docker-ce
    
    yum install -y yum-utils 
      device-mapper-persistent-data 
      lvm2
    
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    yum makecache fast
    yum install docker-ce
    
    systemctl start docker
原文地址:https://www.cnblogs.com/Mrhuangrui/p/4563932.html