• Centos7.4 安装Docker


    一、安装docker

    yum install -y docker

    二、启动docker服务

    systemctl start docker

    三、设置成开机启动docker服务

    systemctl enable docker

    四、显示docker版本信息

    docker version
    

    五、显示docker基本信息

    docker info
    

    六、下载远程镜像

      1、查看远程可用的镜像

    docker search centos
    docker search node      //查看安装好node的镜像
    

      2、下载镜像  

    docker pull docker.io/centos
    

      3、查看已下载的镜像列表

    docker images

     七、docker平台基本使用方法

      1、运行一个container 并加载镜像centos,运行起来这个实例后,在实例中执行/bin/bash

    docker run -it docker.io/centos:latest /bin/bash
      -i 以交互模式运行容器
      -t 为容器重新分配一个伪输入终端

      2、在后台运行container

    docker run -d docker.io/centos:latest bash -c "while true; do echo hello world; sleep 1; done"
        -d 后台运行容器,并返回容器ID
        -c 后面跟待完成的命令

      3、从一容器中取日志,查看输出的内容

    docker logs 容器实例的Name/ID
    docker logs 518500e80156

      4、查看运的容器实例

    docker ps          //查看正在运行的实例
    docker ps -a     //查看所有实例,包括正在运行的,或退出的

      5、杀死运的容器进程

    docker kill  容器实例的Name/ID
    docker kill  518500e80156

      6、启动、停止、重启、进入、删除container容器实例

    启动:docker run -it docker.io/centos:latest /bin/bash
    停止:docker stop  518500e80156
    重启:docker start 518500e80156
    进入:docker exec -it 518500e80156 /bin/bash
    删除:docker rm 518500e80156    //-f参数可以强制删除包括正在运行的实例
    带参数启动:docker run -ti -d -p 8088:80 -v /www/docker/api:/api docker.io/centos:node bash -c "node /www/index.js"
          docker run -d -it -p 3000:3000 --privileged aipeli/node:v2 /usr/sbin/init

      7、杀掉所有正在运行的容器

    docker kill $(docker ps -q)
    

      8、删除已停止的容器

    docker rm  ·docker ps -a -q·
    docker rmi $(docker images -q)  //删除所有镜像,小心使用!
    docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs docker rm   //删除老的(一周前创建)容器
    

      9、设置、查看容器IP地址

            1)、创建自定义网络
                docker network create --subnet=172.18.0.0/16 nodesubnet #创建子网掩码
                docker run -itd --network nodesubnet --ip 172.18.0.10 docker.io/centos:node /bin/bash  #设置容器IP
            2)、查看容器IP
                yum install net-tools -y  #安装net-tools
                ifconfig   #查看容器IP信息
    

      10、利用Niginx做反向代理

        1)、配置docker网络设置

    docker run -itd -v /www/docker/api:/www docker.io/aipeli/node:v1 bash -c "node /www/index.js"

        2)、配置nginx虚拟主机

          *以宝塔管理为例:创建配置文件/www/server/panel/vhost/nginx/docer.conf

    server {
        listen      80;
        server_name www.xxx.com xxxx.com;
        location / {
           proxy_pass http://172.17.0.3:80;
          }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
    

      11、修改已运行的container的配置

    1、查看容器Id全称
        # docker inspect 70529c1909e6 | grep Id
     "Id":"70529c1909e6aa0a3beefad2ef61ee266d5d86164813940a7a361b49d6d7de14"
    2、进入容器配置目录
       #/var/lib/docker/containers
       #cd 70529c1909e6aa0a3beefad2ef61ee266d5d86164813940a7a361b49d6d7de14
    3、修改配置文件
    config.v2.json hostconfig.json
    
    网络修改,参见:https://blog.csdn.net/u011241780/article/details/79457876
    

      12、保存container实例当前状态到镜像image,并提交到hub.docker.com或阿里云私有仓库

    1、退出容器(container): 
      # exit
    2、停止容器: 
      # docker stop  518500e80156
    3、登陆服务器: 
      # docker login
    4、将容器打包成image
      # docker commit 518500e80156 aipeli/node:v2
    5、上传到服务器:
      # docker push aipeli/node:v2
  • 相关阅读:
    如何在Unity中播放影片
    C# typeof()实例详解
    unity3d用鼠标拖动物体的一段代码
    unity3d中Find的用法
    geometry_msgs/PoseStamped 类型的变量的构造
    c++ ros 计算两点距离
    C++ 利用指针和数组以及指针和结构体实现一个函数返回多个值
    C++ 结构体指针的定义
    Cannot initialize a variable of type 'Stu *' with an rvalue of type 'void *'
    C++中的平方、开方、绝对值怎么计算
  • 原文地址:https://www.cnblogs.com/aipeli/p/10049461.html
Copyright © 2020-2023  润新知