zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    SQL审核平台
    Redis单线程为什么快简单理解
    性能测试关注指标
    nmon
    pycharm安装教程
    MAVEN中央仓库地址大全
    MAVEN概念、安装与配置、配置文件
    linux在线模拟地址
    HTTP学习链接、书籍
    Java启动exe
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/4563932.html
Copyright © 2011-2022 走看看