zoukankan      html  css  js  c++  java
  • docker(三)

    容器间的互连

    • 启动一个容器
    $ docker run -d nginx:latest
    $ docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    2ac062d90d92        nginx:latest        "nginx -g 'daemon of…"   4 seconds ago       Up 3 seconds        80/tcp              ecstatic_ellis
    

    • 在启动一个容器并进入容器内, 通过--link连接上一个容器, 可以查看到--link参数可以在容器内多添加一条本地反向dns解析的字符串
    $ docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    3a80e6d74207        nginx               "nginx -g 'daemon of…"   7 hours ago         Up 7 hours          80/tcp              epic_pasteur
    $ docker run -it --link epic_pasteur:web01 centos:6.9
    
    $ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    
    $ grep '172.17.0.2' /etc/hosts
    172.17.0.2	web01 2ac062d90d92 ecstatic_ellis
    
    $ mount |grep '/dev/mapper/centos-root'
    /dev/mapper/centos-root on /etc/resolv.conf type xfs (rw,seclabel,relatime,attr2,inode64,noquota)
    /dev/mapper/centos-root on /etc/hostname type xfs (rw,seclabel,relatime,attr2,inode64,noquota)
    /dev/mapper/centos-root on /etc/hosts type xfs (rw,seclabel,relatime,attr2,inode64,noquota)
    

    • 在容器外查看容器的IP地址
    $ docker inspect ecstatic_ellis |grep -w "IPAddress"|cut -d ':' -f 2 |uniq|cut -d ',' -f 1
     "172.17.0.2"
    $ curl 172.17.0.2
    

    使用docker运行zabbix-server


    • 启动一个空的Mysql服务器实例
    $ docker run --name mysql-server -t 
    >       -e MYSQL_DATABASE="zabbix" 
    >       -e MYSQL_USER="zabbix" 
    >       -e MYSQL_PASSWORD="zabbix" 
    >       -e MYSQL_ROOT_PASSWORD="zabbix" 
    >       -d mysql:5.7  
    > --character-set-server=utf8 --collation-server=utf8_bin
    

    • 启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例
    $ docker run --name zabbix-server-mysql -t 
          -e DB_SERVER_HOST="mysql-server" 
          -e MYSQL_DATABASE="zabbix" 
          -e MYSQL_USER="zabbix" 
          -e MYSQL_PASSWORD="zabbix" 
          -e MYSQL_ROOT_PASSWORD="zabbix" 
          --link mysql-server:mysql 
          -p 10051:10051 
          -d zabbix/zabbix-server-mysql:latest
    

    • 启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联
    $ docker run --name zabbix-web-nginx-mysql -t 
          -e DB_SERVER_HOST="mysql-server" 
          -e MYSQL_DATABASE="zabbix" 
          -e MYSQL_USER="zabbix" 
          -e MYSQL_PASSWORD="zabbix" 
          -e MYSQL_ROOT_PASSWORD="zabbix" 
          --link mysql-server:mysql 
          --link zabbix-server-mysql:zabbix-server 
          -p 8080:80 
          -d zabbix/zabbix-web-nginx-mysql:latest
    

    • 查看容器的情况
    $ docker ps
    CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS              PORTS                           NAMES
    58d3e7ec80bd        zabbix/zabbix-web-nginx-mysql:latest   "docker-entrypoint.sh"   3 minutes ago       Up 3 minutes        443/tcp, 0.0.0.0:8080->80/tcp   zabbix-web-nginx-mysql
    99faf69bd73c        zabbix/zabbix-server-mysql:latest      "/sbin/tini -- /usr/…"   9 minutes ago       Up 9 minutes        0.0.0.0:10051->10051/tcp        zabbix-server-mysql
    5debea7aa666        mysql:5.7                              "docker-entrypoint.s…"   13 minutes ago      Up 13 minutes       3306/tcp, 33060/tcp             mysql-server
    2ac062d90d92        nginx:latest                           "nginx -g 'daemon of…"   About an hour ago   Up About an hour    80/tcp                          ecstatic_ellis
    

    • 查看镜像
    $ docker images
    REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
    zabbix/zabbix-web-nginx-mysql   latest              9102571b2fef        3 days ago          155MB
    zabbix/zabbix-server-mysql      latest              6da679c2a6c6        3 days ago          65.8MB
    mysql                           5.7                 1e4405fe1ea9        8 days ago          437MB
    nginx                           latest              231d40e811cd        8 days ago          126MB
    centos                          6.9                 2199b8eb8390        8 months ago        195MB
    


    # docker 镜像加速 ```bash vim /etc/docker/daemon.json { "registry-mirrors": [ "https://1nj0zren.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "http://f1361db2.m.daocloud.io", "https://registry.docker-cn.com" ], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": {"max-size": "100m"} }

    systemctl restart docker

    
    <br>
    # docker registry
    
    <hr>
    
    ```bash
    docker pull registry:2.7.1
    docker run -d -p 5000:5000 -p 8999:5000 --restart=always --name registry -v /opt/registry:/var/lib/registry registry:2.7.1
    

    • 加入配置文件 (/lib/systemd/system/docker.service)
     vim /lib/systemd/system/docker.service
    ExecStart=/usr/bin/dockerd --insecure-registry  172.16.240.110:8999
    
    systemctl daemon-reload 
    systemctl start docker
    systemctl enable docker
    

    - 加入配置文件 (`/etc/docker/daemon.json `)
    vim /etc/docker/daemon.json 
    {
           "registry-mirrors": [
            "https://1nj0zren.mirror.aliyuncs.com",
            "https://docker.mirrors.ustc.edu.cn",
            "http://f1361db2.m.daocloud.io",
            "https://registry.docker-cn.com"
        ],
         "insecure-registries" : [ "172.16.240.200:5000", "172.16.240.110:5000" ], 
         "exec-opts": ["native.cgroupdriver=systemd"],
         "log-driver": "json-file",
        "log-opts": {"max-size": "100m"}
    }
    
    systemctl restart docker
    

    注意!!!!! `/lib/systemd/system/docker.service` 和 `/etc/docker/daemon.json ` 不能同时定义私有仓库, 否则会导致docker起不来
    • 查看镜像目录
    docker tag registry:2.7.1 172.16.240.110:8999/registry:2.7.1 
    docker push 172.16.240.110:8999/registry:2.7.1
    


    docker pull nginx:1.16.1
    docker tag nginx:1.16.1 172.16.240.110:8999/nginx:1.16.1
    docker push 172.16.240.110:8999/nginx:1.16.1 
    curl -XGET http://172.16.240.110:8999/v2/_catalog
    


    • 查看所有tags
    curl -XGET http://172.16.240.110:8999/v2/nginx/tags/list
    

  • 相关阅读:
    动态、指针field-symbols初探
    简单的OO ALV显示ALV及下载
    python运算符号
    linux ubuntu 学习总结(day01)基本命令学习
    Linux之Ubuntu基本命令提炼,分条列出
    linux常用基本命令
    EMC光纤交换机故障处理和命令分析
    Java求一个数组中的最大值和最小值
    【SSH网上商城项目实战30】项目总结
    【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
  • 原文地址:https://www.cnblogs.com/cjwnb/p/11968601.html
Copyright © 2011-2022 走看看