问题一:虚拟机和容器什么区别?
答:容器是运行在操作系统上面,但是虚拟机的实现好像是在硬件基础上加了一层。具体还需要近一步去研究一下。
问题二:docker来说,为什么相对于linux系统和其它系统的安装方式是不同的?
答:基于第一个问题,docker是一种容器,他是在linux系统上面开发的,所以建议你安装在linux系统上面,不过如果其它系统的话,需要用一个所谓的虚拟机的东西toolbox这个东西。
问题三:介绍一下docker的镜像吧?
答:docker的镜像其实是一层一层叠加的结构,最下面的一层是一个引导系统(内核),然后就是根文件系统,然后各个镜像文件系统。这些都是只读的。在这些的最上面为可以空的读写层。当docker容器运行的时候,是从各个镜像文件层复制数据到这个读写层。
问题四:docker的意义是什么?
答:我个人觉得,docker最直接的意义在于,他节约了运维的工作了。在一台机器上部署了环境了,如果换到一台新的机器上面需要重新去部署。但是用docker,你只需要去拉去一个对应的镜像就可以了。这样节约了运维部署和出错的机会。
问题五:我们如果自己开发了一个应用程序,是不是可以自己编写dockerfile。然后生成对应的镜像,然后运行这个镜像的容器?
答:这样是不可以的,都说了doker是一个运行在操作系统上的容器,你自定义的应用程序需要运行在操作系统上才行,而不是运行在容器上面,所以,你的应用程序需要基于一个父镜像,就是一个操作系统,可以是ubuntu.也可以是windows.
问题六:如何去编写dockerfile文件。
答:首先当我们执行docker build的时候,docker会把dockerfile所在目录环境上报到docker守护进程,所以如果这个目录中如果有其它的文件,docker守护进程也是知道的,dockerfile文件中主要由两部分组成,第一部分是命令,第二部分是参数。然后每执行一行命令就是在镜像中构建一层,每执行一层其实就是拉去一个镜像,然后运行容器,然后修改添加,提交新镜像,然后在拉取的过程。
问题七:当一个镜像容器已经运行了,那么我们如何进入里面去看一下里面的程序运行情况?
答:我们一般创建镜像的时候,一般会采用一种操作系统作为基础镜像。我们可以用如下命令
Docker exec -t -i 容器名称 /bin/bash。来进入容器的内部然后去查看一下里面程序运行情况。
问题八:如何去查看容器信息?例如端口,ip。
答:用docker inspect 容器名称。这个命令应用很多,因为我们需要通过这个获取容器的ip ,端口。默认情况下,容器是不开端口的。这导致容器内运行的程序,外面访问不到。
由于接下来项目需要,我需要去做dpkg的工作了,所以先告一段路。不过我接下来抽时间,一定用docker搭建一个可以访问的服务。docker去搭建一个自定义的程序。外面可以访问的。
网友评论