zoukankan      html  css  js  c++  java
  • Docker

    Docker之路

    安装

    yum install docker
    
    添加阿里云镜像加速器
    
    
    

    重装

    yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
    
    # yum-utils 提供了命令 yum-config-manager,device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
    yum install -y yum-utils 
      device-mapper-persistent-data 
      lvm2
    # 设置 yum 源为 稳定的版本  
    # 阿里的源,国内使用较快
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # 官方的源(国内使用比较慢) 
    yum-config-manager --add-repo    https://download.docker.com/linux/centos/docker-ce.repo
    # 生成缓存
    yum makecache
    # 如果要安装指定的版本
    yum list docker-ce --showduplicates | sort -r
    # 填入版本号到下面的命令(docker-ce-19.03.0-3.el7)
    yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
    
    # 安装最新稳定版本 Docker CE 
    yum install docker-ce docker-ce-cli containerd.io
    

    可能会遇到的问题

    Cannot connect to the Docker daemon at tcp://0.0.0.0:2375. Is the docker daemon running?

    # 执行以下操作
    unset DOCKER_HOST
    unset DOCKER_TLS_VERIFY
    unset DOCKER_TLS_PATH
    docker ps  # 查看后正常
    

    如图:

    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    解决办法

    # 进行如下步骤操作
    systemctl daemon-reload
    service docker restart
    service docker status (should see active (running))
    
    # 最近发现容器无法正常停止,docker stop了之后docker ps还是存在,启动的时候总是显示名称已存在或端口已被绑定,使用如下命令还是没有作用,于是docker升级,问题没有复现
    # 强制清理容器
    docker rm -f jenkins
    # 清理网络占用
    docker network disconnect --force bridge jenkins
    

    docker0 特点:

    • 默认域名不能访问
    • --link可以打通,比较麻烦

    自定义网络

    如何创建一个自定义网络

    创建自定义网络的注意参数

    创建自定义网络!

    docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
    

    启动容器的时候指定网络 --net

    查看网络信息

    不同的集群使用不同的网络,保证集群的安全和健康

    网络联通

    # 查看本地挂载
    docker volume ls
    

    Eureka集群搭建

    这种方式只是为了进行测试自定义网络的特性

    # 在同一网络下创建的容器可以将服务名当作域名进行使用
    docker run -d --name eureka7001.com -p 7001:7001 -v /micserver/config:/config --net mynet  ibo-eureka:1.0.1 --spring.additional-location=/config/application-dev7001.yml
    
    docker run -d --name eureka7002.com -p 7002:7002 -v /micserver/config:/config --net mynet  ibo-eureka:1.0.1 --spring.additional-location=/config/application-dev7002.yml --spring.profiles.active=dev7002
    # `--spring.additional-location` 指定使用外部配置文件
    docker run -d --name eureka7003.com -p 7003:7003 -v /micserver/config:/config --net mynet  ibo-eureka:1.0.1 --spring.additional-location=/config/application-dev7003.yml --spring.profiles.active=dev7003
    

    --spring.additional-location 指定使用外部配置文件

    Dockerfile

    这个是我创建eureka镜像的dockerfile

    # 依赖一个瘦身版的jdk
    FROM openjdk:8-jdk-alpine
    # 将package从源路径添加到目标路径
    ADD /target/cloud-eureka-server-1.0-SNAPSHOT.jar ibo-eureka.jar
    # 挂载指定文件路径 {宿主路径}:{容器路径}
    VOLUME /micserver/eureka/config:/config
    # 容器开放的端口(这里指定后—P就会随机到这里)
    EXPOSE 7001 7002 7003
    # 镜像构建完成后,如果要启动容器,就会运行此命令,ENTRYPOINT会将run后的参数进行追加
    ENTRYPOINT ["java","-jar","ibo-eureka.jar"]
    

    Docker-compose

  • 相关阅读:
    Row Cache lock Problem
    AIX操作系统上安装Oracle数据库必不可少的几项检查工作
    如何使用MOS风格的代码背景?
    在Ubuntu 10上使用DLink DWA 130无线网卡
    PL/SQL Developer View SQL功能的一个Bug
    11g新特性SQL PLUS 错误日志
    生病了。。。
    ORA00600: [7005], [192]内部错误一例
    Linux:vmware下ubuntu更换网卡后无法识别网卡
    Linux:LFS:第一天:今天开始学习,计划7天时间
  • 原文地址:https://www.cnblogs.com/cfb513142804/p/13632150.html
Copyright © 2011-2022 走看看