一、概述
昨天把docker搭建起来了,今天要在docker下部署一个springboot的项目,本次不用maven插件
二、启动redis
1、拉取redis镜像
sudo docker pull redis
2、启动镜像
sudo docker run -d --name meredis -p 6379:6379 redis --requirepass "123456"
这里只配置了需要密码
3、获取redis容器的ip
其实就是进入容器,并且查看 /etc/hosts文件
- 进入容器
sudo docker exec -it meredis bash
- 查看ip
cat /etc/hosts
ip
我这里的ip是:172.17.0.2,下面项目的yml文件也要写成这个ip
三、springboot项目
这个项目很简单,就是一个springboot的项目,一个controller,一个方法,打印出redis的所有key:
springboot
yml配置
1、制作springboot项目镜像
-
打包项目
用maven或者idea中的maven打包:clean package
产出一个jar :hellodocker-0.0.1-SNAPSHOT.jar,将该jar上传虚拟机,我是放到了 dockerfiles 文件夹下 -
编写Dockerfile
在dockerfiles文件夹下新建文件 Dockerfile,内容如下:
FROM java:8
ADD hellodocker-0.0.1-SNAPSHOT.jar hellodocker.jar
ENTRYPOINT ["java","-jar","/hellodocker.jar"]
我用的是jdk8,如果本地镜像有,也可以指定本地的jdk,没有的话,build的时候docker会从镜像库pull一个,有点慢,大概200MB左右
- 制作镜像
sudo docker build -t hellodocker:v1 .
别忘了后面的 点
- 启动镜像
sudo docker run -d -p 9099:9099 --name hellodocker --link meredis:redis hellodocker:v1
- 查看springboot日志
sudo docker logs -f -t --tail 1000 hellodocker
四、验证
在虚拟机上打开火狐浏览器,输入
http://127.0.0.1:9099/test,即可得到redis的所有key(可以通过redis客户端向redis写几个值进去),或者
curl http://127.0.0.1:9099/test
五、用到的几个命令
在整个过程中用到了几个命令,这里再总结下
- 上文涉及的
##拉取镜像
sudo docker pull redis
##启动容器
sudo docker run -d --name meredis -p 6379:6379 redis --requirepass "123456"
##进入容器
sudo docker exec -it meredis bash
##制作镜像
sudo docker build -t hellodocker:v1 .
##查看日志
sudo docker logs -f -t --tail 1000 hellodocker
- 其他用到的
##查看所有镜像
sudo docker images 或者 sudo docker image ls
##查看活动的容器
sudo docker ps
##查看所有容器
sudo docker ps -a
##停止容器
sudo docker stop 容器id
##启动容器
sudo docker start 容器id
##删除容器
sudo docker rm 容器id
##删除镜像 按照id删除
sudo docker rmi 镜像id
##删除镜像 按照tag删除
sudo docker rmo REPOSITORY:TAG
六、上传到阿里仓库
1、新建仓库
- 注册阿里云
注册个阿里云,在 容器与镜像服务 中创建镜像仓库
创建镜像仓库 -
push镜像
点击仓库名称,会进入到操作指南,按照他们给的指南操作就可以把自己本地的docker镜像push到仓库:
操作指南