Docker容器技术学习(3)——Docker的安装与简单应用(nginx,2048,交互式容器)

一、实验环境

主机信息 作用 版本
server1(172.25.59.1) docker rhel7.6
真机(172.25.59.250) 物理机 rhel7.3

二、docker的部署和安装

相关软件可在阿里云官方镜像站下载

在这里插入图片描述
可看到docker-ce的网络yum源
步骤一:在server1中下载wget,在/etc/yum.repos.d中使用wget命令下载该文件

在这里插入图片描述
步骤二:编辑文件,并尝试下载docker-ce

在这里插入图片描述

yum install docker-ce

在这里插入图片描述

出现版本问题
解决:
在阿里云进行搜索,并下载所需软件,图中第一个即可
在这里插入图片描述
再次下载

yum install docker-ce container-selinux-2.77-1.el7.noarch.rpm -y

在这里插入图片描述

下载成功

在这里插入图片描述

步骤三:部署docker

打开docker

在这里插入图片描述
查看docker宿主机(server1)的信息

docker info

在这里插入图片描述
在这里插入图片描述特殊情况会出现警告
比如:
在这里插入图片描述
这样会影响接下来的桥接
解决:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、docker镜像的导入和容器的使用

说白了也就是基于镜像拉起一个容器,其实真实的服务是封装在镜像中的,不过拉起一个容器就可以使用服务了
容器类似于一个虚拟机,基于镜像拉起一个容器,就相当于部署了一个服务,快速高效
注意:所有的镜像都可以到官网去下载

1.利用容器快速搭建一个nginx服务

步骤一:直接拉取网上的官方镜像
在这里插入图片描述
步骤二:运行容器nginx,基于nginx镜像
在这里插入图片描述

docker run -d --name nginx -p 80:80 nginx
##80:80表示将真机的80端口映射到容器的80端口

注意:
当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-p或-P参数来指定端口映射。

  • 当使用-P(大写P)标记时,Docker会随机映射一个端口到内部容器开放的网络端口(端口范围在Linux系统使用的端口之外,一般都过万)
  • 当使用-p(小写p)可以指定要映射的端口,并且在一个指定的端口上只可以绑定一个容器。
  • 支持的格式有:IP:HostPort:ContainerPort | IP::ContainerPort |HostPort:ContainerPort

步骤三:查看火墙策略

在这里插入图片描述
步骤四:在浏览器测试:输入server1的ip以及指定的端口来访问nginx容器上的nginx服务

在这里插入图片描述
步骤五:在宿主机编写一个默认发布页面,并cp到容器内部

在这里插入图片描述
发现并没有效果
在这里插入图片描述
步骤六:直接挂载本机目录到容器里

删除之前的nginx容器

在这里插入图片描述

创建挂载目录

在这里插入图片描述

在挂载目录里编辑发布内容

在这里插入图片描述

通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径;当然也可以指定挂载目录的权限
绝对路径是为了保证万无一失

在这里插入图片描述
步骤七:测试

在这里插入图片描述

2.利用容器简单搭建一个2048小游戏

步骤一:在真机上面给server1传一个2048小游戏的镜像tar包,并导入

在这里插入图片描述步骤二:查看镜像历史信息
在这里插入图片描述发现game2048有两个端口可使用,443、80端口可使用

步骤三:创建容器game,并运行
因为本机80端口已经被nginx占用,所以我们指定8080端口

在这里插入图片描述

步骤四:测试

在这里插入图片描述

可以看出:通过运行容器,2048游戏就这样轻松上线,前提只要有镜像,拉起一个容器来应用就非常的easy
其实当我们执行完【docker run】命令以后就已经完成了上线,后续的操作也只是为了查看相关信息而已
这样看来,我们上线一个应用就只用了两步,非常方便,这也是为什么如今docker这么火爆的原因

3.利用docker创建一个交互式容器

步骤一:从真机给server1发送一个ubuntu的镜像,导入镜像并且查看

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

步骤二:运行容器

docker run -it --name ubuntu ubuntu
##创建一个ubuntu的容器,-it表示打开交互式docker界面(ubuntu自带,rhel镜像需要在后面再加bash)

在这里插入图片描述
步骤三:查看内核信息

容器的内核版本与宿主机的内核版本一致
主机
在这里插入图片描述
容器
在这里插入图片描述

命令补充:

ctrl + pq 	##退出容器但不关闭容器
[root@server1 ~]# docker attach vm3		##可以直接进入容器

ctrl + D	##退出并关闭容器,下次登陆时需要开启
[root@server1 ~]# docker start vm3		##打开关闭的容器
[root@server1 ~]# docker attach vm3		##再进入容器

docker rm vm3				删除容器
docker rm -f  vm2			强制删除容器
docker rmi ubuntu:vm3  		删除镜像
发布了99 篇原创文章 · 获赞 3 · 访问量 1588

猜你喜欢

转载自blog.csdn.net/weixin_45784367/article/details/105312527