我用自己的话简单介绍docker是个什么东西吧,可能不太准确。Doker就是一个可以将项目和环境打包成一个镜像的玩意。镜像是什么,就是一个名词,只是别人总喜欢把一些东西搞得很高级而已。
正常来说,我们部署一个项目需要将自己项目的war包或者jar包,放到服务器上,然后安装对应的环境软件:jdk、redis、nginx等等。只要我们每换一个服务器都需要安装这些玩意,是非常的麻烦,docker的话,我们可以创建一个DockerFile这样的文件,我们可以在这个文件中配置需要安装的软件,docker会自己去读这个文件然后下载下来和项目一个封装成一个镜像。然后我们可以通过相应的命令去启动这个镜像就可以启动项目了。
启动docker:systemctl start docker
关闭docker:systemctl stop docker
查看docker的运行状态:systemctl status docker
在这里插入图片描述
在这里插入图片描述
创建dockFile目录,将该jar包放到该目录下
vi DockerFile
内容写:
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER yoyo
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中
ADD test_demo2-0.0.1-SNAPSHOT.jar /test_demo2-0.0.1-SNAPSHOT.jar
# 运行jar包
RUN bash -c 'touch /test_demo2-0.0.1-SNAPSHOT.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test_demo2-0.0.1-SNA
PSHOT.jar"]
其中testjar表示打包好以后的镜像名称。
docker build -f DockerFile -t testjar.
docker images
将主机的9999
端口映射到容器里8080
端口
docker run -it -v /usr/local/dockerFile/test_demo2-0.0.1
-SNAPSHOT.jar:/test_demo2-0.0.1-SNAPSHOT.jar -p 9999:8080 --privileged=true testjar /bin/bash
启动成功
我们现在可以访问:服务器ip:9999/test
,就可以访问了
如果想要在后台运行该项目,可以将启动命令改成:
docker run -dit -v /usr/local/dockerFile/test_demo2-0.0.1
-SNAPSHOT.jar:/test_demo2-0.0.1-SNAPSHOT.jar -p 9999:8080 --privileged=true testjar /bin/bash