Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署


文章目录

  • 1. 实验环境
  • 2. docker的部署与安装
  • 3. 管理docker常用的基础命令
  • 4. 镜像的导入和容器的使用

1. 实验环境 系统为 rhel7.6的虚拟机
rhel7.6系统 172.25.2.2 ser1 docker客户端 172.25.2.3 ser2 docker客户端

2. docker的部署与安装 1(1)进入阿里云开源阿里云官方镜像站
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(2)选择容器
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(3) 选择docker-ce
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

在ser1上(前提:实现虚拟机上网)
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

2.解决依赖性(下载依赖性的软件包)
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

3.安装docker
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

4.打开docker服务
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

在安装好docker后,系统会为docker容器分配一个ip,利用ip addr中查看docker0的ip
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

查看docker宿主机(server1)的信息(无error)
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

安装bash-* 可以自动补全docker命令
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

基本的docker部署很简单,接下来要基于镜像运行容器
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

3. 管理docker常用的基础命令
docker load -i ubuntu.tar导入本地镜像 docker run -it --name vm1 ubuntu创建容器(以ubuntu镜像为模板 可交互) docker ps查看容器状态 docker ps -a查看容器状态(包括不活跃的容器) docker attach vm1连接容器 docker inspect vm1查看容器详情 docker run -d --name vm1 ubuntu运行容器打入后台

4. 镜像的导入和容器的使用 说白了也就是基于镜像拉起一个容器,其实真实的服务是封装在镜像中的,不过拉起一个容器就可以使用服务了
容器类似于一个虚拟机,基于镜像拉起一个容器,就相当于部署了一个服务,快速高效
实例一:利用容器简单搭建一个2048小游戏
首先配置镜像加速器,便于快速下载
登陆阿里云
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

daemon.json可以控制docker引擎
systemctl daemon-reload systemctl restart docker

(1)拉取镜像
docker pull yakexi007/game2048

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(2)查看镜像
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(3)查看镜像信息
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(4)创建并运行容器
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

-d打入后台 -p端口映射 - -name指定容器的名字

当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-p或-P参数来指定端口映射。
当使用-P(大写P)标记时,Docker会随机映射一个端口到内部容器开放的网络端口(端口范围在Linux系统使用的端口之外,一般都过万)
当使用-p(小写p)可以指定要映射的端口,并且在一个指定的端口上只可以绑定一个容器。
(5)查看容器运行状态,看端口是否开启
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(6)浏览器访问server1的ip,前提是只要server1的80端口没有被占用,这样就可以通过server1访问容器vm1的80端口
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

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

【Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署】Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

删除镜像
docker rmi yakexi007/game2048:latest

(1)拉取nginx镜像
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(2)查看镜像
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(3)查看镜像暴露端口等信息
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(4) 运行容器
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(5)访问测试
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(6)在宿主机编写一个默认发布页面,并cp到容器内部
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

访问测试,立即生效
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(7)也可以直接挂载本机目录到容器里
删除之前的容器
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

创建挂载目录 在挂载目录里编辑发布内容
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径;当然也可以指定挂载目录的权限
绝对路径是为了保证万无一失
docker run -d --name nginx -p 8080:80 -v /tmp/docker/:/usr/share/nginx/html nginx

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

访问测试
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
端口映射就相当于做了个nat
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

docker其实就是一个进程
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

实例三:利用docker创建一个交互式容器
(1)拉取ubuntu的镜像
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片
(2)查看镜像
Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

(3)运行容器
[root@server1 docker]# docker run -it --rm --name ubuntu ubuntu ##创建一个ubuntu的容器,-it表示打开交互式docker界面 --rm 表示退出后删除容器

Docker应用容器引擎——docker的安装部署+阿里云镜像加速器的配置+nginx的部署+2048小游戏的部署
文章图片

命令补充:
ctrl + pq##退出容器但不关闭容器 [root@server1 ~]# docker attach vm3##可以直接进入容器ctrl + D ##退出并关闭容器,下次登陆时需要开启 [root@server1 ~]# docker start vm3##打开关闭的容器 [root@server1 ~]# docker attach vm3##再进入容器docker rm vm3删除容器 docker rm -fvm2强制删除容器 docker rmi ubuntu:vm3删除镜像

    推荐阅读