Docker安装(Debian8)-构建简单的SpringBoot应用
安装docker
1. 建立仓库
移除已安装的docker(docker以前被称为docker或者docker-enginer现在称为docker-ce)
apt-get remove docker docker-engine docker.io docker-ce
rm -rf /var/lib/docker/
rm -rf /etc/docker/更新APT包
sudo apt-get update
安装包以允许APT在HTTPS上使用存储库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common配置阿里云的apt源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian \
$(lsb_release -cs) \
stable"
2. 安装docker ce
更新APT包
sudo apt-get update
安装最新的docker ce
sudo apt-get install docker-ce
如果需要安装特定版本的docker ce
apt-cache madison docker-ce #查看可安装版本
sudo apt-get install docker-ce=<VERSION_STRING> #替代值为第二列的版本号
3. 检查docker安装结果
查看docker状态启动结果,Active为active(running)状态
systemctl status docker.service
可能出现安装失败,active状态为stop,通过查看/var/log/daemon.log,日志:Error starting daemon: Error initializing network controller: list bridge addresses failed: no available network,解决方法:
apt-get install bridge-utils
brctl addbr docker0
ifconfig docker0 192.168.2.1
echo 'DOCKER_OPTS="b=docker0"' >> /etc/default/docker通过hello-world镜像来验证docker是否安装成功,如果下图所示即为安装成功
docker run hello-world

制作简易SpringBoot工程镜像
1. 新建springboot工程
添加相关pom依赖后,创建HelloController便携代码:
@RestController
public class HelloController { @GetMapping("/hello")
@ResponseBody
public String hello(String name) {
return "Hello world!";
}
}pom中配置maven插件后,通过mvn命令导出jar,导出文件在工程的target目录中:
mvn clean package
2. 制作镜像
创建Dockerfile,最好是空目录,注意文件大小写
touch Dockerfile
#Dockerfile的内容
#指定基础镜像
FROM openjdk:
RUN apt-get update \
#安装基础工具
&& apt-get install -y --no-install-recommends locales net-tools iputils-ping curl wget telnet vim tzdata \
#设置语言环境
&& locale-gen en_US.UTF- \
#设置时区,docker中默认使用UTC时间
&& echo "Asia/Shanghai" > /etc/timezone \
&& rm /etc/localtime \
#重新配置tzdata软件包,使得时区设置生效
&& dpkg-reconfigure -f noninteractive tzdata #指定维护者信息,可不写
MAINTAINER yehx @qq.com
#容器工作目录,run -it进入docker后CD进入改目录
WORKDIR /app
#指定标签信息,可不写
LABEL app="springboot-helloworld" version="1.0" by="yehx"
#COPY工程的jar文件,会自动解压
ADD ../springboot-helloworld-1.0-SNAPSHOT.jar ./
#打开某个端口
EXPOSE
#容器启动后需要执行的命令
CMD java -jar springboot-helloworld-1.0-SNAPSHOT.jar制作镜像(最后. 代表当前路径)
docker build -t springboot-helloworld:1.0 .
3. 检查镜像
查看镜像,可以看到刚刚制作好的镜像文件
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot-helloworld 1.0 7484da556931 hours ago 660MB运行镜像
#-p 8181:8181指定端口映射,让外部也可以访问这些应用,如果不用-p,可以通过--network host,将container与宿主机的网络相连通
#--name指定运行后的容器名称
#-d
docker run -d -p : --name springboot-helloworld springboot-helloworld:1.0
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
833c1354f668 springboot-helloworld:1.0 "/bin/sh -c 'java -j…" hours ago Up hours 0.0.0.0:->/tcp springboot-helloworld查看镜像运行日志
docker logs -f 833c1354f668

访问/hello接口

Docker Hub
目前Docker官方维护了一个公共仓库叫Docker Hub,大部分需求都可以通过在Docker Hub中直接下载镜像来实现,并可以上传自己的镜像文件。
1. 基本使用
- 注册:在 https://cloud.docker.com 免费注册一个 Docker 账号
- 登录:通过执行 docker login 命令交互式的输入用户名及密码来完成在命令行界面登录Docker Hub
查询镜像:通过 docker search 命令来查找官方仓库中的镜像
拉取镜像:利用 docker pull 命令来将它下载到本地
推送镜像:可以在登录后通过 docker push 命令来将自己的镜像推送到 Docker Hub
这边需要注意的是,推送前需要通过docker tag命令将镜像重新打标签,如果Docker Hub的账号用户名为usernamme,则新镜像名为username/[old-image]
Docker安装(Debian8)-构建简单的SpringBoot应用的更多相关文章
- RabbitMQ从概念到使用、从Docker安装到RabbitMQ整合Springboot【1.5w字保姆级教学】
@ 目录 一.前言 二.RabbitMQ作用 1. 异步处理 2. 应用解耦 3. 流量控制 三.RabbitMQ概念 1. RabbitMQ简介 2. 核心概念 四.JMS与AMQP比较 五.Rab ...
- jumpserver跳板机docker安装小小趟坑
最近日常运维的时候发现每次登陆服务器都要打开终端目录连接对应的服务器,闲暇的时候还好,运维任务很重的时候才发现这样的玩法很傻,浪费时间且一点儿都跟不上潮流,然后打开githup开始搞起来.docker ...
- Caffe学习系列(三)Docker安装及一些问题的记录
前言: Docker安装倒是很简单,按照步骤轻松完成,但是在联网方面还是出现问题,大概是伟大的祖国防火墙将其拦下,但在开发中要遇山开山,见水搭桥.在其中我将解决方法记录下来,每次解决了困难想分享找不到 ...
- 小白的docker极简入门(二)、5分钟教你玩转docker安装
0-前言 上一篇中,我们已经安装后Linux了,我们需要在Linux下安装docker,然后才能在docker中安装和部署各种应用 同样,5分钟教你完成docker正确安装和使用, 不是纸上谈兵,不是 ...
- Docker构建YApi镜像, Docker安装YApi, Docker部署YApi
概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...
- win10安装docker并结合Idea2018.1部署springboot项目
一.准备工作 1..工具:win10,idea2018,maven3.5,jdk8 二.win10安装docker 1.win10安装docker:http://www.runoob.com/dock ...
- springboot学习之构建简单项目搭建
概述 相信对于Java开发者而言,spring和springMvc两个框架一定不陌生,这两个框架需要我们手动配置的地方非常多,各种的xml文件,properties文件,构建一个项目还是挺复杂的,在这 ...
- SpringBoot Docker Mysql安装,Docker安装Mysql
SpringBoot Docker Mysql安装,Docker安装Mysql ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...
- SpringBoot Docker入门,SpringBoot Docker安装
SpringBoot Docker入门,SpringBoot Docker安装 ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...
随机推荐
- ArcGIS for JS 离线部署
本文以arcgis_js_v36_api为例,且安装的是IIS Web服务器 1.下载最新的ArcGIS for JS api 包,可在Esri中国社区或者Esri官网下载 2.下载后解压 3.将解压 ...
- js使用锚点回到顶部
使用锚点链接是一种简单的返回顶部的功能实现.该实现主要在页面顶部放置一个指定名称的锚点链接,然后在页面下方放置一个返回到该锚点的链接,用户点击该链接即可返回到该锚点所在的顶部位置 <body s ...
- 主键生成策略sequence
http://blog.csdn.net/shanhuhau/article/details/24978253 表示:如果不写序列名,会走默认的序列 若写,则seq_表名_属性名
- 2019.03.02 bzoj2565: 最长双回文串(pam)
传送门 题意简述:问最长的由两个回文串连接而成最长字串长度. 思路: 正反串各建一个pampampam然后就完了. 代码: #include<bits/stdc++.h> #define ...
- linux 系统管理学习
Linux系统管理一.进程管理1.进程管理的作用1)判断服务器健康状态2)查看系统中所有进程3)杀死进程2.进程的查看1)查看所有进程ps aux 查看系统中所有进程ps -le 查看系统中所有进程- ...
- DL_1_week2_神经网络基础
二分类问题 在二分分类问题中,目标是训练出一个分类器,这里以图片特征向量x作为输入,预测输出的结果标签y是1还是0,也就是预测图片中是否有猫. 计算机保存一张图片(彩色),要保存三个 ...
- git-创建新项目
1.一般第一次使用git,需要进行全局设置,如果下次创建新项目或者fork别人的项目,则不需要再进行设置:但是如果想要提交到不同的代码管理网站,则需要再设置,比如现在我的是在gitlab.com上进行 ...
- codeforces 1042 e
逆推期望 #include<bits/stdc++.h> using namespace std; #define ll long long #define pb(x) push_back ...
- Django Admin 专题
Django admin Django强大的功能之一就是提供了Admin后台管理界面,简单配置就可以对数据库内容做管理 创建ModelAdmin并注册 from django.contrib impo ...
- Visual Studio 代码快捷键
目录 1.常用快捷键 2.快速生成代码 3.自定义代码片段 参考: https://blog.csdn.net/qq_32452623/article/details/53838393 https:/ ...