美文网首页java大搜罗docker
Ubuntu下通过docker部署springboot项目

Ubuntu下通过docker部署springboot项目

作者: 吟风者 | 来源:发表于2018-10-13 10:41 被阅读336次

    Ubuntu下安装docker

    安装

    安装命令:

    sudo apt-get update
    sudo apt-get install docker.io
    

    (如果安装失败,也可参考如下网站进行安装:链接

    启动

    启动命令:

    sudo service docker start
    

    测试

    测试运行hello-world:

    sudo docker run hello-world
    

    运行效果:

    运行效果图

    设置docker镜像加速

    添加镜像加速地址

    编辑daemon.json文件:

    sudo vim/etc/docker/daemon.json
    

    添加阿里云加速镜像地址内容:

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

    重启服务

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    sudo systemctl status docker
    

    下载基础镜像

    搜索镜像

    进入阿里云的镜像仓库搜索自己想要的镜像,链接

    阿里云镜像仓库

    找到想要的java基础镜像:

    java基础镜像

    右边有相应的版本,下载自己想要的版本(注:这里的java全部是openjdk,不是oracle
    jdk)。

    下载镜像

    语法:

    docker pull [OPTIONS] NAME[:TAG|[@DIGEST](https://my.oschina.net/u/3392911)]
    

    说明:

    OPTIONS:参数,例如 ‘-a’,下载所有版本的镜像。
    NAME:镜像名称,例如 ‘java’。
    TAG:为版本,例如 ‘java:8u111’,java的8u111版本。
    

    实例:

    sudo docker pull java:8u111
    

    (注:如果不指定相应的版本,docker则会自动下载最新的版本。)

    查看本地镜像

    运行命令:

    sudo docker images
    
    image

    编写Dockerfile

    FROM java #基础的镜像
    ADD application.yml application.yml #添加配置文件
    ADD FaceWeb-1.0.2-SNAPSHOT.jar app.jar #添加项目的jar包,并重命名
    EXPOSE 80 #声明端口
    VOLUME /tmp #定义匿名卷
    #程序的入口点
    ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar","/app.jar", "--Dspring.config.location=application.yml"]
    # Ubuntu 时区
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    

    (详情请参考:链接

    修改项目配置application.yml

    略。

    编译镜像

    上传文件

    在服务器上建立一个文件夹,用于存放docker文件,将文件通过工具全部发送到服务器上。

    image

    编译

    语法:

    docker build [OPTIONS] PATH | URL | -
    

    OPTIONS说明:

    -f :指定要使用的Dockerfile路径;
    -m :设置内存最大值;
    --tag, -t:镜像的名字及标签,通常 name:tag 或者 name格式;可以在一次构建中为一个镜像设置多个标签。
    

    实例:

    sudo docker build -t faceweb .
    

    (注:详细语法,请查看:链接

    image

    编译完成后运行查看镜像,就可以看到刚刚编译好的镜像了。

    image

    启动容器

    运行命令

    语法:

    sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    

    OPTIONS说明:

    -d:后台运行容器,并返回容器ID;
    -p: 端口映射,格式为:主机(宿主)端口:容器端口;
    --name:"nginx-lb":为容器指定一个名称;
    -e username="ritchie":设置环境变量;
    -P:随机端口映射。
    

    (注:详细语法,请查看:链接

    实例:

    sudo docker run –name faceweb -d -p 80:80 faceweb
    
    1. 查看运行的容器

    语法:

    sudo docker ps [OPTIONS]
    

    OPTIONS说明:

    -a :显示所有的容器,包括未运行的;
    -l :显示最近创建的容器。
    

    (注:详细语法,请查看:链接

    实例:

    sudo docker ps -a
    
    image image

    可以清楚的看到端口的映射情况和容器的一些详细信息。

    到目前为止,docker容器的下载,编译和部署已经完成,下面是容器的一些常用操作介绍。

    容器常用操作命令

    查看运行的容器

    查看容器,复制容器的CONTAINER ID。

    停止容器

    sudo docker stop CONTAINER
    

    启动容器

    sudo docker start CONTAINER
    

    重启容器

    sudo docker restart CONTAINER
    

    删除容器

    sudo docker rm CONTAINER
    

    (注:删除容器前需要先停止这个容器,删除是不可逆的,谨慎操作。)

    查看容器的日志

    sudo docker logs [OPTIONS] CONTAINER
    

    OPTIONS说明:

    -f : 跟踪日志输出;
    -t : 显示时间戳;
    --since :显示某个开始时间的所有日志;
    --tail :仅列出最新N条容器日志。
    

    实例:

    sudo docker logs -f cd4c9b023c46
    

    进入容器

    语法:

    sudo docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
    

    OPTIONS说明:

    -i :即使没有附加也保持STDIN 打开;
    -t :分配一个伪终端。
    

    实例:

    sudo docker exec -it faceweb /bin/bash
    
    image

    镜像的常用操作

    删除镜像

    语法

    sudo docker rmi [OPTIONS] IMAGE [IMAGE...]
    

    OPTIONS说明:

    -f :强制删除;
    --no-prune :不移除该镜像的过程镜像,默认移除。
    

    实例:

    sudo docker rmi faceweb
    

    (注:所有的删除是不可逆的,请请谨慎操作。)

    所有的docker命令请参考:链接

    相关文章

      网友评论

        本文标题:Ubuntu下通过docker部署springboot项目

        本文链接:https://www.haomeiwen.com/subject/kqqoaftx.html