Docker 使用问题

2021-03-04 14:14:27 +08:00
 CSGO
使用场景:本人并不是开发者,虽然试图学习 docker,但其实就是为了满足我的几个傻瓜式的需求,看了微信读书中的 docker 书籍啥的,发现过于专业,而且大部分因为没有其他专业基础也看不懂啊。

现在情况:就像安装宝塔在 Linux 上那样,买一台服务器就可以安装,然后架设网站,我就想着装更多软件在上面,结果我在服务器上安装了 3 个程序,就互相干扰了,宝塔客服还连上我服务器上一看,确实如此。所以就想着能否使用 docker,把宝塔装在 docker 中,把每个软件都装在一个独立的容器中?我这样说不知道对不对。通过我现有知识和尝试,我思路是这样的:下载了 centos 镜像,然后运行出一个容器,然后在容器里就可以安装比如宝塔面板。然后再运行一个新容器,再在里面安装其他软件。

然后我就有疑问了,是不是只要我不删除那个容器,我就可以每次运行它即可?以及如宝塔这样的程序,如果我网站搭建多了,我是可以随时备份它?还是说正常来说不会这样用?以及宝塔是否可以轻松迁移到其他服务器上的 docker 中?

然后还有个问题,比如我想在 docker 中安装 teamspeak3,一个办法是不是可以就像上面那样,我在拉取的 centos 中,安装下载 teamspeak ;而还有个就是直接使用 docker pull teamspeak 。两则是有什么区别?因为就传统虚拟机思路来说,我更喜欢新建一个虚拟机中下载安装软件,而使用 docker pull teamspeak,我还需要阅读 https://hub.docker.com/_/teamspeak 它的使用说明。
1230 次点击
所在节点    问与答
10 条回复
baiyi
2021-03-04 14:21:10 +08:00
你这确实是虚拟机的思路,使用容器的思路应该是直接运行宝塔这个应用的容器。其他的应用也都是直接 pull 对应镜像,而不是自己去安装
CSGO
2021-03-04 14:25:15 +08:00
@baiyi 我知道可以 pull 对应镜像,但是比如一些小众软件,我发现搜索不到,是不是就可以自己安装?那么既然都可以自己装的话,即使有镜像,我自己装和使用镜像又有啥区别呢?比如宝塔这样的,本来就一键安装。
cheng6563
2021-03-04 14:34:08 +08:00
容器不存储持久数据,需要持久化保存的数据需要挂出来。这样你容器要迁移就直接把镜像和数据拷走就行了,如果是公开镜像的话镜像也不用拷了。
baiyi
2021-03-04 14:57:01 +08:00
@CSGO #2 自己做个镜像,把流程放在 Dockerfile 里。容器出问题了也能很快重新起一个,换机器也没问题
CSGO
2021-03-04 15:12:27 +08:00
@cheng6563 意思是比如 teamspeak,我拉取它官方 docker 镜像后使用,如果要迁移,只要在新服务器上放好原本持久化的数据,再直接拉取镜像,运气起来,就和原本的一样了。那么这应该是 docker 原本的使用方法和使用 docker 的意义?

那以及如果我是拉取一个 centos 镜像,然后在 centos 上自己装一个 teamspeak,然后直接把容器生成一个镜像,是不是也是可以的?新服务器上我直接拷贝这个镜像,直接运行。
cheng6563
2021-03-04 15:44:30 +08:00
@CSGO 是的,你自建的镜像,如果是 dockerfile 建的就把 dockerfile 拷走就行了。
cheng6563
2021-03-04 16:11:40 +08:00
@cheng6563 另外你可以写个 docker-compose.yml 而不是直接 docker run,这样这个容器相关的所有东西都能打包拷贝了。
MaMimi
2021-03-04 16:22:08 +08:00
当前已禁止交易
当前已禁止社区讨论
711,561 个记录在案的 VAC 封禁 | 信息
1,077,681 个记录在案的游戏封禁 | 信息
上次封禁于 0 天前

怎么做到的
CSGO
2021-03-04 17:27:19 +08:00
@MaMimi 个人网页。。。
jjianwen68
2021-03-04 17:44:43 +08:00
首先去 hub.docker 搜索是否已有其它人创建了对应的镜像

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758409

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX