zoukankan      html  css  js  c++  java
  • Docker & Compose安装以及入门

    Docker 安装

    脚本安装

    • 自定义脚本

      wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
      yes | yum localinstall docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
      systemctl start docker
      # add aliyun accelarater
      touch /etc/docker/daemon.json
      cat>>/etc/docker/daemon.json<<EOF 
      {
          "insecure-registries" : ["0.0.0.0/0"],
          "registry-mirrors": ["https://4wmjwi37.mirror.aliyuncs.com"],
          "log-driver": "json-file",
          "log-opts": {
              "max-size": "10m",
              "max-file": "3"
          }
      }
      EOF
      systemctl daemon-reload
      systemctl restart docker
      docker info
      
    • docker社区

      curl -sSL https://get.docker.com | sh
      docker -v
      
    • 阿里云脚本

      curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
      docker -v
      
    • daocloud脚本

      curl -sSL https://get.daocloud.io/docker | sh
      docker -v
      

    配置加速器

    • 阿里云

      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<-'EOF'
      {
        "registry-mirrors": ["https://dist7hw1.mirror.aliyuncs.com"]
      }
      EOF
      sudo systemctl daemon-reload
      sudo systemctl restart docker
      docker info
      
    • DaoCloud

      curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ced808ab.m.daocloud.io
      
      sudo systemctl restart docker
      
      docker info
      
      

    卸载 Docker

    • 卸载脚本

      #sudo apt-get remove docker docker-engine docker.io
      yum remove docker 
      				  docker-client 
      				  docker-client-latest 
      				  docker-common 
      				  docker-latest 
      				  docker-latest-logrotate 
      				  docker-logrotate 
      				  docker-selinux 
      				  docker-engine-selinux 
      				  docker-engine
      
      rpm -qa | grep docker | xargs yum remove
      
      rm -rf /etc/systemd/system/docker.service.d
      
      rm -rf /var/lib/docker
      
      rm -rf /var/run/docker
      
      

    Docker Compose安装

    二进制包安装(推荐)

    • 官网
      https://github.com/docker/compose/releases

    • 安装脚本

      sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
      sudo chmod +x /usr/local/bin/docker-compose
      sudo docker-compose -v
      
    • 卸载脚本

      sudo rm -rf /usr/local/bin/docker-compose
      

    PIP 安装

    #pip -V
    #安装 python-pip
    yum -y install epel-release
    yum -y install python-pip
    pip install --upgrade pip
    pip -V
    sudo pip install -U docker-compose
    docker-compose -version
    

    docker-compose 案例

    version: '3'
    services:
      # ref:https://hub.docker.com/_/mysql
      # ref:https://docs.docker.com/samples/library/mysql/#-via-docker-stack-deploy-or-docker-compose
      mysql:
        image: mysql:8.0
        container_name: mysql
        command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
        # data 用来存放了数据库表文件,init存放初始化的脚本
        volumes:
          - ./mysql/data/:/var/lib/mysql/
          - ./mysql/conf/my.cnf:/etc/my.cnf
          - ./mysql/init:/docker-entrypoint-initdb.d/
        restart: always
        ports:
          - "3306:3306"
          - "33060:33060"
        environment:
          TZ: Asia/Shanghai
          MYSQL_ROOT_PASSWORD: root123
          MYSQL_USER: dev
          MYSQL_PASSWORD: dev123
      consul:
        image: consul
        container_name: consul
        command: agent -dev -client 0.0.0.0 -log-level info
        restart: always
        ports:
          - "8500:8500"
      rabbitmq:
        image: rabbitmq:management-alpine
        container_name: rabbitmq
        environment:
          - RABBITMQ_DEFAULT_USER=dev
          - RABBITMQ_DEFAULT_PASS=dev123
        restart: always
        ports:
          - "15672:15672"
          - "5672:5672"
        logging:
          driver: "json-file"
          options:
            max-size: "200k"
            max-file: "10"
      redis:
        image: redis
        container_name: redis
        command: redis-server /usr/local/etc/redis/redis.conf
        restart: always
        ports:
          - "6379:6379"
        volumes:
          - ./redis/data:/data
          - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
    

    说明

    Compose file format Docker Engine
    1 1.9.0+
    2.0 1.10.0+
    2.1 1.12.0+
    2.2, 3.0, 3.1, 3.2 1.13.0+
    2.3, 3.3, 3.4, 3.5 17.06.0+
    2.4 17.12.0+
    3.6 18.02.0+
    3.7 18.06.0+

    Docker常用命令

    • 查看系列

      镜像:docker images -a

      容器 :docker ps -a

      进入容器:docker exec -it 容器Id /bin/bash

    常用Docker软件安装教程

  • 相关阅读:
    实验 3:Mininet 实验——测量路径的损耗率
    2020福州大学软件工程实践个人编程作业
    实验 2:Mininet 实验——拓扑的命令脚本生成
    实验 7:OpenDaylight 实验——Python 中的 REST API 调用
    第4次作业-结对编程之实验室程序实现
    实验 6:OpenDaylight 实验——OpenDaylight 及 Postman 实现流表下发
    实验 5:OpenFlow 协议分析和 OpenDaylight 安装
    福州大学软件工程实践结对编程作业(需求分析与原型设计)
    实验 4:Open vSwitch 实验——Mininet 中使用 OVS 命令
    实验 3:Mininet 实验——测量路径的损耗率
  • 原文地址:https://www.cnblogs.com/kancy/p/install_docker.html
Copyright © 2011-2022 走看看