环境:
CentOS7
1、搜索centos的镜像
# docker search centos
2、拉取带有java的centos(后面会用到,省去安装java的步骤)
# docker pull mamohr/centos-java
3、查看所有镜像
# docker images
4、根据镜像启动容器,并进入容器
# docker run --name test -it mamohr/centos-java /bin/bash
--name:表示自定义容器名(仅限第一次启动某一容器时使用,之后启动进入该容器不要定义容器名,否则报错:The container name "/test" is already in use by container XXX)
此时退出容器,即可看到刚刚启动时所创建的容器
查看所有的容器:docker ps -a
此时未对容器做任何修改,故不用生成副本;一旦对容器进行了修改,退出之后一定要使用 docker commit 命令来提交更新后的副本,否则修改的数据可能会丢失!!!(# docker commit -m "指定提交的说明信息" -a "指定更新的用户信息" 用来创建镜像的容器ID 镜像的REPOSITORY的名称)
5、上传可执行jar包到容器中(我放在/opt/jar/文件夹下)
使用rz命令,但发现未安装
安装rz:
yum install lrzsz
我上传的是maven的HelloWorld项目的jar包
6、在/usr/local/bin下创建可执行文件,执行jar包
#vi /usr/local/bin/docker_springboot.sh
#!/bin/bash
java -jar /opt/jar/springboot_helloworld-1.0-SNAPSHOT.jar
7、退出容器
# exit
8、使用 docker commit 命令来提交更新后的副本
# docker commit -m "指定提交的说明信息" -a "指定更新的用户信息" 用来创建镜像的容器ID 镜像的REPOSITORY的名称
9、在docker里的centos上运行jar(要映射端口号),并查看运行中的容器
# docker run -d -p 8080:8080 --name 自定义容器名称 镜像名称 /usr/local/bin/docker_springboot.sh
10、若该容器已运行,则可在网页中输入“http://192.168.128.21:8081/hello”进行测试