zoukankan      html  css  js  c++  java
  • CentOS7安装Docker-CE并部署项目

    前言

    这是我第一次使用dokcer部署项目,现学现卖。成功之后把所有用到的安装及部署和操作命令做一个总结。如有不足,请指教。

    使用的是阿里云服务器。CentOS7版本。

    Dokcer安装

    1.Centos7安装Docker,系统一顿操作。

    yum install docker-ce

    2.设置开机自启动

    chkconfig docker on
    systemctl  start docker.service
    systemctl  enable docker.service

    3.使用Docker 中国加速器,因为Docker是外国的,有个强大防火墙。但是Docker也有秘密武器。

      首先:

    vim  /etc/docker/daemon.json

      文件内容:

    {
                    "registry-mirrors": ["https://registry.docker-cn.com"],
                    "live-restore": true
            }

    4.重新启动docker

    systemctl restart docker

    输入docker version 返回版本信息则安装正常。
    测试docker是否成功
    docker info
    出现一下信息证明成功:

    ········
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Insecure Registries:
    127.0.0.0/8
    Registries: docker.io (secure)

    项目部署

    准备好一个springboot项目的jar包。

    1.创建一个目录,用于放jar包和配置文件Dockerfile。

    mkdir /usr/local/springboot

    2.通过SSH工具将jar包上传并移动到这个文件夹(命令略...)

    3.在这个目录下创建文件Dockerfile

    touch Dockerfile

    4.编写这个文件内容

    vim Dockerfile
    // 内容如下
        FROM java:8
        VOLUME /tmp
        ADD XXXXXXXX.jar app.jar
        RUN bash -c 'touch /app.jar'
        ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

    其中:XXXXXX.jar就是我们的springboot项目的jar包。

    5.生成镜像文件

    docker build -t springboot .

    注意:以空格+点结尾,springboot是生成镜像的名字。

    6.查看生成的镜像

    docker images

    7.创建容器并运行jar包

    docker run -d -p 10001:10001 springboot ( springboot就是镜像文件)

    这样就可以访问了。

    所以,docker容器的性质和linux虚拟机是一样一样的。我们使用springboot的jar包,生成镜像文件,再利用镜像文件生成容器。最后使用和操作的就是容器。

    如果项目更新了,需要更换容器。更换之前,需要停止容器并首先删除容器,要是先删除镜像文件的话,系统就会提示有容器在使用该镜像。

    所以更新的思路为,停止并删除容器,更换镜像文件,重新生成容器并运行。

    如果想要更新,可能用到的命令如下:

    8.查看执行中的容器

    docker ps

      查看所有容器命令

    docker ps -a

    9.停止指定的容器

    docker stop 784fd3b294d8  (这个是容器ID,上一步知道的,每次都是随机生成的)

    或者

    docker stop NAMES (同上)

    10.启动已停止的容器

    docker start 784fd4b2947d(这是容器ID)

    11.进入docker容器

    sudo docker exec -it 容器ID /bin/bash

    docker容器就相当于一个linux虚拟机,里面的目录完全一样。
    查看当前目录中的文件命令“ll”,不能用,“ls”可以。当然,有的命令不能用,也可以在里面装。
      1).如果项目中使用logback来打印日志文件,保存的地址是/usr/socket/...,如果用docker容器启动,产生的log文件当然在容器里,并不在云服务器对应的位置。进入到容器的指定位置,可以看到日志文件。
      2).如果项目里有上传文件的功能,并且使用的外部地址,地址是 /usr/upload/.. ,如果用容器运行,也是只会传到容器里对应的位置。


    12.删除容器

    docker rm 784fd3b294d8  (删除镜像之前必须先删除使用该镜像的容器)

    13.如果要删除镜像文件

    docker rmi springboot(springboot是镜像文件名字)

    最后:我这里是使用Dockerfile文件生成镜像文件的,还有使用maven的方式生成镜像文件。我还未试过。

  • 相关阅读:
    使用Linq to Sqlite 出现异常Object already attached
    CSS 嵌套DIV布局
    《面试笔记》——MySQL终结篇(30问与答)
    PotPlayer播放器下载
    博客圆的RSS怎么不能用呢
    OPC在自控系统的应用
    TAPI的使用
    刷iPAQ为Linux(zz HiPDA)
    再论软工
    Silverlight的大小自适应中存在的一个问题
  • 原文地址:https://www.cnblogs.com/fengyuduke/p/11214109.html
Copyright © 2011-2022 走看看