docker是管理容器的引擎
docker为应用打包、部署平台,而非简单的虚拟化技术
运行起来更加轻量,它只是安全隔离不是完全隔离。
1、实验环境
一台rhel7.5的虚拟机docker,先封装一个rhel7.5的母盘,再做一个快照作为实验的虚拟机
利用真机ssh连接虚拟机,实验方便
2、docker的部署与安装
(1)找到docker安装所需要的4种包,yum install *
这四种包我们在官网上下载
https://docs.docker.com/ https://docs.docker.com/install/linux/docker-ce/centos/
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/
我已经下载好了直接安装即可
(2)打开docker服务
也可以设置为开机自起,这样我们每次开机后使用docker可以防止自己忘记docker服务
(3)在安装好docker后,系统会为docke容器分配一个ip,通过ip addr 查看
(4)安装好docker后,使用命令docker,如果tab键不能自动不全,说明缺少一个包bash
安装:yum install bash-* -y
(5)查看docker镜像,此时查看没有机镜像
docker基本部署完成了
3、镜像的导入和容器的使用
在使用docker时,与docker相配的有它的对应的命令,掌握这些命令才能更好的学习docker
容器的运行是基于镜像的,说白了也就是基于镜像拉起一个容器,其实真实的服务器是封装在镜像中的,不过拉起一个容器就可以使用服务了。
容器类似于一个虚拟机,基于镜像拉起一个容器,就相当于部署了一个服务,快速高效
所有的镜像都可以去官网上去下载,但是速度会很慢,可以搭配阿里云镜像加速。
当前给大家演示一个简单的镜像,为了方便起见,先使用我下载好的,后续的镜像的下载和阿里云的加速会在后续的博客讲解到。
示例一:利用容器简单搭建一个2048小游戏
(1)将自己真机上下载好的2048的镜像tar包发送到server1
(2)利用docker命令导入镜像game2048.tar
docker load -i game2048.tar
(3)查看镜像信息
docker images
(4)查看game2048.tar的内容
docker history game2048.tar
(5)创建容器game1,并运行
有镜像才有容器,基于镜像把容器运行起来,容器是基于镜像的
docker run --name game1(给容器命名,如果自己不命名的话,会随机生成) -p(做个端口映射) 80:80 -d game2048
上面的命令是创建一个名为game1的容器,并将本机docker(宿主机)80端口映射到容器的80端口,宿主机的80端口每u没有被占用。通过本机80 端口访问容器内部的80端口上运行的服务
这个容器是基于game2048这个镜像运行的
参数 | 功能 |
---|---|
-d | 打入后台 |
-p | 端口映射 |
–name | 指定容器名字(也可以不自主命名,会自动生成) |
可以通过命令docker run --help 来查看各种参数
(6)docker ps
(7)在浏览器上测试,输入docker的ip,docker的80端口没有被占用,这样可以通过docker的80 端口来访问容器game1的80 端口
虚拟机docker的ip:172.25.10.1
由于之前做过解析,所以跳转到了域名