zoukankan      html  css  js  c++  java
  • Docker初识

    (一)docker介绍

    1.什么是Dokcer?

     1.一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口;
     2.go语言编写,在LCX(linux容器)基础上进行的封装

    2.简单来说: 

      1)就是可以快速部署启动应用
       2)实现虚拟化,完整资源隔离
       3)一次编写,四处运行(有一定的限制,比如Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用)

    3、为什么要用docker?

    1、提供一次性的环境,假如需要安装Mysql,则需要安装很多依赖库、版本等,如果使用Docker则通过镜像就可以直接启动运行               
    2、快速动态扩容,使用docker部署了一个应用,可以制作成镜像,然后通过Dokcer快速启动
     3、组建微服务架构,可以在一个机器上模拟出多个微服务,启动多个应用         
    4、更好的资源隔离和共享

                一句话:开箱即用,快速部署,可移植性强,环境隔离

    (二)docker核心知识

    4、Docker仓库、镜像、容器
                Docker 镜像 - Docker images:

    容器运行时的只读模板,操作系统+软件运行环境+用户程序
    好比一个类:

                Docker 容器 - Docker containers:

    容器包含了某个应用运行所需要的全部环境
    好比一个类new出来的对象

                Docker 仓库 - Docker registeries: 

    用来保存镜像,有公有和私有仓库,我们可以从仓库下载我们需要的镜像
    好比Maven的中央仓库和本地私服

    参考)配置国内镜像仓库:https://blog.csdn.net/zzy1078689276/article/details/77371782

    (三)Docker容器常见命令

    云服务器安装文档:https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.6.820.RaToNY

            1、 常用命令(安装部署好Dokcer后,执行的命令是docker开头),xxx是镜像名称

    1.搜索镜像:docker search xxx  
      如:rabbitmq:management    
    2.列出当前系统存在的镜像:docker images       
    3.拉取镜像:docker pull xxx
       xxx是具体某个镜像名称(格式 REPOSITORY:TAG)
       REPOSITORY:表示镜像的仓库源,TAG:镜像的标签
      如:rabbitmq:management

    4.运行一个容器:docker run -d --name "xdclass_mq" -p 5672:5672 -p 15672:15672 rabbitmq:management
        docker run - 运行一个容器
        -d 后台运行
        -p 端口映射
        rabbitmq:management  (格式 REPOSITORY:TAG),如果不指定tag,默认使用最新的
        --name "xxx"      
    5.列举当前运行的容器:docker ps  或者  docker ps -n 5    
    6.检查容器内部信息:docker inspect 容器名称
    7.删除镜像:docker rmi IMAGE_ID
      强制移除镜像不管是否有容器使用该镜像 增加 -f 参数,
      docker rmi -f IMAGE_ID
    8.停止某个容器:docker stop 容器名称(或ID)
    9.启动某个容器:docker start 容器名称(或ID)
    10.移除某个容器: docker rm 容器名称 (容器必须是停止状态)

            文档:

                https://blog.csdn.net/permike/article/details/51879578

    (四)Docker部署Nginx服务器实战

       0、先跑一下
                  docker run  (首先会从本地找镜像,如果有则直接启动,没有的话,从镜像仓库拉起,再启动)
       1、查找镜像
                  docker search nignx 
            2、列举
                  docker images 
            3、拉取
                  docker pull nignx 
            3、启动(可以多个)
                  docker run -d --name "xdclass_nginx" -p 8088:80 nginx 
                  docker run -d --name "xdclass_nginx2" -p 8089:80 nginx 
                  docker run -d --name "xdclass_nginx3" -p 8090:80 nginx 
            4、访问
                如果是阿里云服务,记得配置安全组,腾讯云也需要配置,这个就是一个防火墙
            服务器访问端口:
                curl "http://127.0.0.1:端口"
                  curl "http://127.0.0.1:8088" 

    (五)搭建私有镜像仓库

      1.阿里云镜像仓库:https://dev.aliyun.com/search.html

      2、使用阿里云私有镜像仓库
                1)登录:  docker login --username=794666918@qq.com registry.cn-shenzhen.aliyuncs.com 
                
                2) 推送本地镜像:
                  docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:[镜像版本号] 
                例子:
                  docker tag 2f415b0e9a6e registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:xd_rabbitmq-v1.0.2 
                  docker push registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:xd_rabbitmq-v1.0.2 

                3)拉取镜像
                    线上服务器拉取镜像:
                          docker login --username=794666918@qq.com registry.cn-shenzhen.aliyuncs.com 

                          docker pull registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:xd_rabbitmq-v1.0.2 

                        启动容器:
                          docker run -d --name "xdclass_mq" -p 5672:5672 -p 15672:15672 2f415b0e9a6e 

     注意这些命令都以【管理】里面的命令为主,这里只是演示

    docker:

      安装mysql5.6以及如何访问:https://www.cnblogs.com/areyouready/p/8948552.html

      使用docker发布springboot项目:https://blog.csdn.net/funtaster/article/details/83274727

  • 相关阅读:
    630. Course Schedule III
    20151:补足程序1
    5w5:第五周程序填空题1
    621. Task Scheduler
    452. Minimum Number of Arrows to Burst Balloons
    435. Non-overlapping Intervals
    402. Remove K Digits
    406. Queue Reconstruction by Height
    376. Wiggle Subsequence
    122. Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/big-cut-cat/p/9932912.html
Copyright © 2011-2022 走看看