-
为什么要在docker虚拟机部署项目呢?
我们知道在Linux系统,可以直接安装程序、部署项目,那为什么还要装docker虚拟机,然后在docker虚拟机内部安装程序、部署项目呢,这个过程多麻烦是什么原因呢?
主要解决的是隔离性的问题,有的程序运行会占有很大的程序资源,势必会影响到其他程序的运行。
再有使用虚拟机去部署,非常的方便,因为我需要部署程序了,就开启一个虚拟的空间,不需要部署的时候,将虚拟的空间删除,这些虚拟空间是完全隔离的。
如果直接在Linux系统之内安装程序,把A程序卸载掉,A关联了一些软件包,有可能会影响到B程序,这样就体现不出隔离性。但是Docker虚拟机是完全可以体现隔离性的,当你把A容器删除掉以后,容器指的就是低DocKer虚拟里面的空间,你把A容器删掉,不会影响到B容器,这个隔离性非常好,这个就是我们使用docker虚拟机部署项目的主要原因!
-
为什么不用Vmware安装部署程序呢?
为什么不在Linux系统,只能Vmware虚拟机去部署,他也体现了隔离性?
因为跑不动,太重了,docker是轻量级的!
-
Docker虚拟机架构
-
云计算中的Docker虚拟机
-
Docker镜像与容器
- 容器是从镜像中创建出来的虚拟实例。
-
安装Docker虚拟机
- 先更新yum软件管理器,然后再安装docker
yum -y update yum install -y docker
- -y 代表选择安装中的yes选项
service docker start #启动docker
-
Docker虚拟机命令图
-
学习资源
详情请点击:Docker之编程环境应用
-
设置加速器 安装Docker镜像指令
- 在线安装Java镜像
- 下载对应系统的加速器DaoCloud,并且配置
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
-
修改docker配置文件
[root@localhost docker]# vi daemon.json
-
搜索镜像并且安装
docker search java docker pull docker.io/java
-
显示安装镜像结构
docker images
-
启动容器,8080端口映射到宿主机9000端口,宿主机目录映射到容器文件夹【:分割】
[root@localhost ~]# cd /home [root@localhost home]# mkdir project [root@localhost home]# ls project #先创建目录命令 docker run -it -p 9000:8080 -p 9001:8085 -v /home/project:/soft --privileged --name myjava docker.io/java bash
-
启动的是java的容器,已经安装好了jdk,监测一下java 环境好不好用
javac root@3daa47f4f030:/# java -version openjdk version "1.8.0_111" #1.8版本表示容器启动还是有效的 OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2~bpo8+1-b14) OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode) root@3daa47f4f030:/#
-
查看映射目录好不好用
root@3daa47f4f030:/# cd /soft root@3daa47f4f030:/soft# ls #默认为空目录 root@3daa47f4f030:/soft# touch hello.txt root@3daa47f4f030:/soft# echo Thanks>hello.txt root@3daa47f4f030:/soft# ls hello.txt root@3daa47f4f030:/soft#
-
当初在容器充创建出来的hello.txt,在宿主机里面能不能看的见
[root@localhost /]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@localhost /]# cd home/ [root@localhost home]# ls project [root@localhost home]# cd project/ [root@localhost project]# ls hello.txt [root@localhost project]# cat hello.txt Thanks #确实如此,一点问题都没有 [root@localhost project]#
-
-
前面宿主机sss