以下均为没有依据的个人理解,仅是帮忙整理个人当前认知用,不出意外大概是漏洞百出,所以如果有其他人看见这篇文章的话当乐子看就行,防止误人子弟
一开始的操作是拉取了一个别人配置好的较为纯净(阉割)版的ubuntu,然后在里面配置上gcc,vim等操作指令,最后再向这个ubuntu的linux系统里从头安装上一个redis。折腾了好久最后redis能打开了,但是没有配置好redis在容器打开时的自动启动,所以最后选择了先放弃这个办法。据说使用 dockerfile可以配置这个系统开启时自动执行的代码。有关这一点后面会解释到。
首先先从我当前建立的理解来阐述一下我所认为的docker运行机制。首先我们在我们的window系统上通过wsl(windows系统下的linux虚拟机)运行docker。我们的dockerDesktop软件只是一个放在我们windows系统里用来简化操作linux虚拟机的一个辅助者,实际上的docker内核是跑在Linux系统里的。然后别人配置好一个运行在linux系统下的一套程序后,可以把这套程序连带环境一起封装在一个容器中,用容器形成镜像(类似于一个快照,可以用来还原并生成容器【好像游戏里的建造图纸?】)并把它在docker社区里公布给大家。
我们可以从网络上获取别人发布的镜像,可以直接拉下来用,也可以建立一个叫DockerFile的文件,在原本的镜像基础上RUN几条新的指令,这个已经被run过指令的文件可以产生一个新的镜像。镜像都保存在linux系统里。
当我们需要直接开盖即食别人配置好的环境与其中的程序时,我们可以用镜像生成相应的容器,运行并进入这个容器我们就能实现在本地的linux系统上连带着环境跑别人的程序(大概就是节约了配环境的力气)。
具体代码操作:
先是从docker层面,当我们windows系统里安装了DockerDesktop之后,我们在cmd命令行里就可以使用docker相关的命令了。
首先是拉取别人配好的镜像作为基础(暂时还没有尝试过从头形成自己的镜像 ),使用的代码为
docker pull {镜像名称}
当然也可以在某个镜像的基础上编写一个dockerfile,然后使用代码
docker build 后面怎么写忘了
来形成一个更加个性化的镜像
之后就能在我们的桌面app上的IMAGE(镜像)栏里看到多了一个拉取下来的镜像。如下图
之后我们可以选择点击右边的RUN来利用镜像形成一个容器(会跳出弹窗用来设置容器名称等)
也可以在cmd里使用代码
docker images
来查看当前所有镜像,然后使用
docker run -it {镜像名称}
这时候就能用当前镜像形成一个新的容器并进入。
所有的容器都可以在桌面app的Containers栏中见到,也可以点击运行
在cmd中使用docker ps
可以查看当前正在运行的所有容器
然后使用代码
docker exec -it {容器id} bash
就可以进入容器内部。
在容器内部,使用代码
service-cli -a {密码}
就能进入redis自带的控制台