Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

我现在有一台云服务器,请问我在服务器安装java,mysql,redis这些环境和在docker中安装这些环境区别在哪里呢?我看之前说docker是为了解决环境不一致的问题,但是如果不同电脑就算拉同一个docker镜像,但是电脑环境不一致啊,还是说我得先用docker拉一个linux系统然后再到linux镜像里面去配置环境,到时候保存好了直接拉系统镜像就行了?还有就是如果我在一个镜像中安装了java环境,在另一个环境没有安装java环境却把jar包部署在里面,该如何运行呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
434 views
Welcome To Ask or Share your Answers For Others

1 Answer

你的程序最终是运行在 docker 容器内。宿主机(电脑)只是一个运行 docker 的载体,与容器内无关。

同一镜像、版本(TAG)就可以保证你的即使你在不同载体(宿主机)上,docker 容器内总是一致的运行环境、配置。

如果你觉得现有的镜像(image),不能满足你部署的要求,你可以使用 Dockerfile ,创建自定义的镜像,往镜像里面添加一些软件之类的,构建完成后,你可以把镜像上传到镜像服务器,也可以把 Dockerfile 和上下文内容一起打包,进行分发。

例如你说到的:Java 环境,现有集成了 JRE 、JDK 的镜像,已经帮你安装好了,你只需要在你开发、测试、生产都使用这个镜像,就可以做到全部一致。从而消除环境不一致的问题。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...