zoukankan      html  css  js  c++  java
  • docker学习之路

    环境 :

    ubuntu 16.4


    下载docker

    首先使用命令行下载 docker

    wget -qO- https://get.docker.com/ | sh

    启动

    下载完成之后进行一个启动,但是会出现错误 提示用户没有权限

    ubuntu默认是非root用户,非root用户会提示错误信息所以最简单的办法是使用

    sudo su

    进入root用户模式执行以下命令

    开启docker start

    sudo service docker start

    重启docker服务

    service docker restart

    关闭docker服务

    versice docker stop

    更换镜像源

    访问国外镜像源太慢了 只能使用国内源 

    Docker 官方中国区:https://registry.docker-cn.com
    网易:http://hub-mirror.c.163.com
    中国科技大学:https://docker.mirrors.ustc.edu.cn
    阿里云:https://y0qd3iq.mirror.aliyuncs.com

    进入宿主机的文件目录          /etc/docker/daemon.json            这是docker在宿主机上的镜像源配置,

    一般情况是没有的 daemon.json 配置文件的,

          vim daemon.json   创建一个同名文件 在其中写入

    {
      "registry-mirrors": ["https://y0qd3iq.mirror.aliyuncs.com"]
    }

    根据情况选择 上述四个源的url地址  我这里是阿里云  

    退出保存 :wq  重启docker服务

    service docker restart 

    使用 如下命令查看是否生效

    docker info|grep Mirrors -A 1

    如果显示出如下信息这说明成功

    WARNING: No swap limit support
     Registry Mirrors:
      https://y0qd3iq.mirror.aliyuncs.com/

    上述操作博文地址


    寻找docke镜像 并下载

    docker 官方地址源  https://hub.docker.com/ 

    (比方 例子)比如我需要下载java的依赖  去 docker 仓库寻找java的包 (实验性质  也可以使用其他搜索情况)

    docker search java

     都是java搜索找到的,但是貌似是图中java停止更新了??? 所以下载openjdk  

    docker pull openjdk

    等待下载

     下载完成 查询下载来的镜像

    docker images

    能看到openjdk 已经下载了

    REPOSITORY          是镜像的名字
    TAG                 版本号  默认下载是latest 最新的
    IMAGE_ID            镜像id   
    CERATED             时间 不要在意...
    SIZE                大小

    启动docker 容器

    当前没有可以使用的镜像  ,所以使用菜鸟教程中的镜像源   拉去源

    docker pull training/webapp 

    docker run 启动

    docker run -it -p 33333:5000 training/webapp python app.py
    
    
    
    // 上述表示 
    // 使用docker run启动
    // -it 启动之后进入命令行输出模式
    // -p 33333:5000   将宿主机的33333端口和docker容器的端口5000(5000是菜鸟教程中flask程序,flask的默认端口是5000)  在外部对该程序进行访问时使用设置的宿主机端口
    //  training/webapp   镜像
    // python app.py  执行flask的程序

    在另一台机器中访问宿主机ip加docker -p 33333:5000 设置的3333接口 得到该flask程序输出结果

     可以看到 是输出模式  并且持续输出flask程序的响应

    但是注意 一旦退出就会停止 exit   这个容器,不会在次运行,外部也不能通过  ip:port   访问

    docker ps 
    
    // 可以查看运行中的docker容器

    docker ps -a 
    
    // 查看docker 所有的容器  不管停止的还是运行的  能看到上面运行的    

    那么需要使用后台模式挂起 退出并不会stop docker中的容器          -d 后台挂起模式

    docker run -d -p 12345:5000 training/webapp python app.py

     可以通过刚刚使用上述命令产生的容器id  也就是 d9b55.....   进行一些操作

    // 比如 查看该容器产生的标准输出
    docker logs d9b55
    // 容器id是docker随机产生的  不需要全部写出  写出前面几位不和其他容器id重复就好了
    
    

    这是访问一次之后的结果 

    如果需要进行一个持续显示输出

    docker logs -f d9b     

    查看后台挂起容器状态

    docker ps

    可以多开几个容器 都是同一个镜像  只是宿主机端口不同,访问不同的端口 但都是同一个后台程序

     如果每个容器中的镜像程序都是链接同一个数据库,那么可以后续使用nginx 之类的软件负载均衡 不断轮询

    将没有挂起后台的容器重新启动 

    docker ps -a  
    // 能看到所有运行的和没运行的容器 根据容器id 选择启动
    
    
    
    docker start 容器id

    菜鸟教程相关url


    停止容器

    docker stop 容器id

    停止全部容器

    docker stop $(docker ps -aq)
    // docker ps -aq 显示所有容器id

    删除容器

     需要先停止容器

    // 停止运行容器
    docker stop 容器id
    
    // 删除
    docker rm 容器id  

    删除全部容器

    // 默认为容器停止了
    docker rm $(docker ps -aq)
    
    
    // 找到所有容器暂停在删除
    docker rm $(docker stop $(docker ps -aq))

    删除镜像

    docker rmi 镜像名称或者id

     同样和容器一样 如果运行中的容器是依赖于这个镜像的,那么删除也会出现错误,需要先停止依赖这个镜像的容器

  • 相关阅读:
    R语言︱H2o深度学习的一些R语言实践——H2o包
    笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting
    笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)
    笔记︱支持向量机SVM在金融风险欺诈中应用简述
    笔记+R︱信用风险建模中神经网络激活函数与感知器简述
    笔记+R︱Logistics建模简述(logit值、sigmoid函数)
    笔记︱金融风险之欺诈分类以及银行防控体系简述
    笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
    我如何向 HR MM 介绍 Microservice
    sql server查看用户权限
  • 原文地址:https://www.cnblogs.com/zengxm/p/11529879.html
Copyright © 2011-2022 走看看