docker的安装:https://cloud.tencent.com/developer/article/1701451
1.简单尝试,首先创建第一个基于ubuntu镜像的docker容器
输入命令docker run -i -t ubuntu /bin/bash
(/bin/bash:交互式 Shell,-t: 表示容器启动后会进入其命令行,-i: 表示以“交互模式”运行容器)
这个命令的意思是在指定的镜像ubuntu下创建一个新的容器,然后进入该容器的交互命令行
不知道因为什么原因失败了
输入命令再试一次,创建成功
这样一个docker容器就创建好了
然后因为创建的时候命令行后面的 /bin/bash,创建好容器后自动进入容器的交互页面
所以目前可以认为是在ubuntu系统下工作了
输入命令cat /etc/issue
可以查看当前ubuntu的版本号
最后输入exit
退出这个容器,返回CentOS7命令行
2.jar包准备等工作
https://blog.csdn.net/qq_38175040/article/details/119542316
虚拟机和宿主系统共享一个文件夹,在Centos7里面,输入cd /mnt/hgfs
访问共享文件夹的临时挂载点,可以访问宿主机的共享文件夹
可以看到共享文件夹下的jar包
在根目录下新建一个文件夹springboot0808
然后把共享文件夹下的jar包复制到springboot0808下面
输入命令java -jar 0808demo-0.0.1-SNAPSHOT.jar
来启动 0808demo-0.0.1-SNAPSHOT.jar这个jar包
服务可用,先按ctrl+c退出服务
注意java -jar
和nohup java -jar
的区别:java -jar命令在命令行关闭的时候也会关闭服务,而nohup java -jar是一直已后台的方式在运行jar包,关闭命令行无影响。
3.制作docker镜像
以0808demo-0.0.1-SNAPSHOT.jar为基础,来制作一个镜像,启动容器。
首先输入命令vim Dockerfile
(注意在springboot0808下面输入这个命令),输入如下内容后保存
这样DockerFIile就构建好了
docker file创建好了接下来构建docker镜像
输入命令docker build -t springboot_docker0808:v1 .
,注意最后的那个.不能少
4.启动docker容器
输入命令:docker run --name springboot0808 -d -p 9081:9081 -t springboot_docker:v1
启动成功
输入命令docker exec -it springboot0808 /bin/bash
,成功进入容器springboot的交互行
输入命令ls,这个容器的根目录下有0808demo-0.0.1-SNAPSHOT.jar这个jar包
这是因为之前编写docker file的时候,里面有一句将jar包复制到根目录的语句
docker容器已启动的情况下,如果是部署在云服务器的话,就已经可以通过浏览器访问刚刚部署在容器里的jar包服务了。
输入命令docker inspect springboot0808
,查找到自己的容器ip(注意一定要查自己的ip,因为可能有docker的其他服务占用了172.17.0.2这个端口,而本容器的端口可能会变为172.17.0.3,172.17.0.4)
然后在centos7本地的浏览器里输入网址http://172.17.0.2:9081/hello/list
,访问到了容器里的jar包服务(如果容器是部署在云服务器的话就可以在任意一台机器的浏览器里访问了,我这里只能在本地的服务器里访问)