Docker使用

docker介绍

docker是一个开源的容器引擎,它有助于更快的交付应用。docker可将应用程序和基础设施层隔离,并且能将基础设施当做程序一样进行管理。使用docker可更快地打包,测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。docker技术推动了云计算的发展,阿里云,亚马逊云,腾讯云等都对docker提供了支持。

以前针对不同的操作系统,比如ubuntu、centos,安装同一软件的操作或者安装不同的软件,操作命令各不相同,docker便解决了这个问题。相当于在操作系统和软件之间,加了中间层,简化部署。不同的操作系统,不同的软件,基本的操作命令都是相同的。

docker安装

安装docker需要linux内核版本在3.0版本以上,可以通过uname -r命令查看linux内核版本

  1. 设置yum源

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  2. 安装docker(docker-ce代表社区版)

    yum -y install docker-ce
  3. 启动docer 

    service docker start
  4. 验证

    docker version

docker使用

                                                                docker架构图

docker有一个中央仓库(类似于maven的中央仓库),仓库地址为https://hub.docker.com

  1. 搜索镜像

    #该命令会检索各字段中是否包含某字符(下面实例中会检索各字段是否包含java),
    #包括软件的name、description、stars(代表软件的流行程度)、
    #official(代表是否为官方提供的docker镜像,一般会使用官方镜像)、
    #automated、tags(版本号)等
    docker search java
  2. 下载镜像(冒号后面为版本号,不指定版本号也可下载,会下载最新版)

    docker pull java:8
    docker pull nginx:1.14

    可添加阿里云的镜像加速器,会加快镜像下载速度。在docker目录下(默认是/etc/docker)修改配置,修改完成后需要重启docker:

    #编辑daemon.json文件,如果没有需要先新建
    vim daemon.json
    #文件中输入国内镜像源
    #最后一个地址为阿里云镜像源。需要登录阿里云容器服务控制台获                                              #取个人专属地址
    {"registry-mirrors": [
        "https://docker.xuanyuan.me",
        "https://docker.1ms.run",
        "https://hub.rat.dev",
        "https://docker.hpcloud.cloud",
        "https://docker.m.daocloud.io",
        "https://docker.tbedu.top/",
        "https://s232dbmv.mirror.aliyuncs.com" 
      ]
    }
    
    #重启docker
    systemctl daemon-reload
    systemctl restart docker
    
  3. 列出本地镜像

    docker images
  4. 删除镜像

    docker rmi java:8
  5. 新建并启动容器

    #-d:后台运行
    #-p:端口
    #91:80       91:宿主机的端口号,80:映射的软件在容器中启动的端口
    docker run -d -p 91:80 nginx:1.14
    docker run -d -p 92:80 nginx
  6. 列出容器

    #查看当前处于运行中容器,会展示container id(容器ID)、image等字段
    docker ps
    #查看所有容器,包括已经停止的
    docker ps -a
  7. 启动/停止容器

    docker start/stop <容器id>
  8. 查看容器信息

    docker inspect <容器id>
  9. 进入容器(退出容器用exit)

    docker container exec -it <容器id> /bin/bash


    更多docker操作命令详见官方文档:Reference | Docker Docs

  10. 容器网络方式
    1.Bridge模式(桥接模式):默认的网络模式。在这种模式下,docker会创建一个默认的虚拟网络,并为每个容器分配一个内部IP地址。
    2.Host模式:将容器内的网络绑定到宿主机的网络上。

构建自己的docker镜像

  • 用Dockerfile文件构建Nginx的Docker镜像
  • Dockerfile是一个文本文件,其中包含了若干条指令,指令描述了构建镜像的细节
    #FROM指令用于指定基础镜像
    FROM nginx
    #RUN指令用于构建镜像阶段执行命令(以下操作为替换nginx的欢迎页面内容)
    RUN echo '<h1>This is Zhuge Nginx!!!</h1>' > /usr/share/nginx/html/index.html
  • 在Dockerfile所在路径执行以下命令构建镜像
     
    docker build -t nginx:zhuge .
    docker run -d -p 93:80 nginx:zhuge

构建微服务docker镜像

  1. 第一步:用Dockerfile文件构建Docker镜像
     
    #基于哪个镜像
    From java:8
    #复制文件到容器(将Dockerfile所在目录的microservice-eureka-server.jar复制到根目录,并重命名为app.jar)
    ADD microservice-eureka-server.jar /app.jar
    #声明需要暴露的端口
    EXPOSE 8761
    #配置容器启动后执行的命令
    ENTRYPOINT ["java","-jar","/app.jar"]
  2. 第二步:用docker build命令构建镜像
    docker build -t microservice-eureka-server:zhuge .
  3. 第三步:启动镜像
    docker run -p 8761:8761 microservice-eureka-server:zhuge
  4. 第四步:访问微服务首页
    http://Docker宿主机IP:8761/

Docker虚拟化原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值