zoukankan      html  css  js  c++  java
  • docker 学习总结

    一、安装docker

    1.安装yum-utils软件包(提供yum-config-manager 实用程序)并安装devicemapper驱动依赖

    yum install -y yum-utils device-mapper-persistent-data lvm2

    2.设置yum 源

    官方:
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
    阿里云:
    yum-config-manager 
        --add-repo 
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    清华大学:
    yum-config-manager 
        --add-repo 
        https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

    3.安装docker

    yum install docker-ce

    4.启动并开启开机启动

    systemctl start docker
    systemctl enable docker

    二、遇到的问题

    1.启动dockers时报 Job for docker.service failed because start of the service was attempted too often. See "systemctl s

    解决:把daemon.json改为daemon.conf。使用mv命令修改后,docker启动正常。 mv /etc/docker/daemon.json /etc/docker/daemon.conf

    然后重载配置文件   systemctl daemon-reload

    一、https://www.cnblogs.com/linyufeng/p/12058595.html

    https://www.cnblogs.com/panwenbin-logs/p/8007348.html

    三、docker 打包到镜像并上传到私服

    1.Dockerfile 文件编写

    FROM openjdk:8

    WORKDIR .

    COPY userService-10003.jar demo.jar

    COPY application-dev.yml application-dev.yml

    COPY application-prod.yml application-prod.yml

    ENV a dev

    ENTRYPOINT exec java -jar demo.jar --spring.profiles.active=$a  //启动时指定环境,通过启动容器时指定 -e a=dev

    2.构建镜像

    docker build -t eureka:v1 .

    3.下载私服镜像并启动

    docker pull registry  //下载私服镜像
    docker run -d -p 5000:5000  --name myregistry --restart=always registry //启动镜像
    docker run -it -p 10003:10003 -e a="dev"  user:v7 //指定环境为dev

    4.私服配置

    vim /etc/docker/daemon.json
    { # ustc的加速源
    "registry-mirrors": ["https://nrbewqda.mirror.aliyuncs.com"], "insecure-registries":["192.168.31.181:5000"] //# 让docker信任192.168.31.181:5000registry私服地址,添加后docker 上传和下载都按照http 方式(默认https 会报错) }
    $ sudo systemctl daemon-reload  //重新加载配置文件
    $ sudo systemctl restart docker

    5.推送镜像到私服

    docker push localshot:5000/eureka:v1

    curl -XGET http://192.168.18.145:5000/v2/_catalog 查看私有仓库

    curl -XGE http://10.10.100.216:5000/v2/dianbiao/tags/list  查看私服某个镜像各个版本信息

    6.下载镜像到私服

    同理配置docker 客户端,添加私服信任的ip地址,使得通过http访问
    docker pull localhost:5000/eureka:v1

    7.启动镜像

    docker run -it -p 10000:10030 eureka:v1   //-it 按照交互模式启动可以看到日志打印,-p 前一个是对外暴露端口,后一个是容器内部端口
    
    docker run -d -p 10000:10030 eureka:v1   //-d 按照后台模式启动,不会推出,-p 前一个是对外暴露端口,后一个是容器内部端口

    总结

    1.docker 构建好处在于能够将jar包运行的环境及jar 包一起打包构建,不同的环境只需要下载镜像就可以启动相同的服务,方便运维管理

    2.docker 容器访问宿主机mysql 时 采用ip地址 172.17.0.1 访问 ,访问下设置mysql 权限可访问

  • 相关阅读:
    VS2015复制VS2013的项目,编译报错
    Asp.Net MVC的几个文件上传方式
    一个基于Jquery的涂鸦插件
    Js 自定义日期格式的正则表达式验证
    无聊做的小游戏,斗牛.html
    MSSql Server 自定义导出
    Asp.Net Ambiguous match found 错误另一种解决方法
    韩天峰(Rango)推荐书目
    微信创建菜单报 must use utf-8 charset hint 错误
    InstallShield 2015 LimitedEdition VS2012 覆盖安装
  • 原文地址:https://www.cnblogs.com/lufei33180/p/13975262.html
Copyright © 2011-2022 走看看