Docker(3)具体的安装部署过程和一些简单应用(2048小游戏,nginx,ubuntu)
1.实验环境
一台rhel7.3的虚拟机server1和一台rhel7.3的物理机
主机信息 | 作用 |
---|---|
server1(172.25.70.1) | 搭建docker |
物理机(172.25.70.250) | 测试以及给server1提供资源 |
(1)为了保证我们的实验环境是纯净的,先在真机当中创建一个全新的快照并且开启
(2)用真机ssh连接server1,这样操作起来更方便
(3)在真机上面搭建一个共享yum源给server1,这个共享yum源要包含docker的安装包,并且开启apache,关闭防火墙,并且加载第三方yum 源仓库
真机上:
加载第三方Yum源:
[root@foundation70 ~]# createrepo -v /var/www/html/docker #加载第三方yum 源仓库
(4)在server1上面编写docker共享yum源的文件
以上就是基本的实验环境
2.docker的部署与安装
docker-ee 企业版
docker-ce 社区版
软件包安装
软件包下载地址
安装社区版软件包地址
本实验安装的是社区版docker-ce
(1)安装docker
yum install docker-ce -y
systemctl start docker.servicesystemctl enable docker.service
(3)在安装好docker后,系统会为docker容器分配一个ip,利用ip addr中查看docker0的ip
这个IP是为了容器通信用的,具体后面再说
(4)查看docker的版本信息
[root@server1 ~]# docker --version
Docker version 18.09.7, build 2d0083d
(5)查看docker宿主机(server1)的信息
runc很重要
[root@server1 ~]# docker info
Containers: 0Running: 0Paused: 0Stopped: 0
Images: 0
Server Version: 18.09.7
Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueNative Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:Volume: localNetwork: bridge host macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:seccompProfile: default
Kernel Version: 3.10.0-862.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.5 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.796GiB
Name: server1
ID: YVMD:DMLL:RO3Y:EMAH:KSAO:V3ZK:W77N:3TFN:CVGB:R3B7:YVE7:JLJX
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
3.管理docker常用的基础命令
掌握这些命令是最基本的,然后才能操作docker
容器的运行是基于镜像的,这里我使用ubuntu的镜像来举例
其实这些命令我在之前已经为大家讲解过,放在这里为了帮助大家理解下面的操作
4.镜像的导入和容器的使用
[root@server1 ~]# ls
game2048.tar
[root@server1 ~]# docker load -i game2048.tar #导入镜像;
[root@server1 ~]# systemctl start docker
[root@server1 ~]# systemctl enable docker
[root@server1 ~]# docker images #查看导入镜像
[root@server1 ~]# docker run -d --name game1 -p 80:80 game2048 #后台运行
-d:打入后台,否则占用终端 --name:起名称 -p:端口映射,为了让外网段的人访问到,所以做了端口映射 80(物理机):80(docker)
[root@server1 ~]# docker info #查看容器信息
[root@server1 ~]# ifconfig /ip addr #查看
[root@server1 ~]# yum install -y bridge-*
[root@server1 ~]# docker inspect game1 #查看docker的ip地址;它的网关是docker0的
[root@server1 ~]# brctl show #网桥
[root@server1 ~]# ifconfig docker #查看docker的内部ip,只有自己可以看见
[root@server1 ~]# docker ps #查看docker信息;
volumes:卷,挂载镜像
[root@server1 ~]# docker history ubuntu:latest #查看镜像的历史信息;
[root@server1 ~]# docker ps -a #查看所有的docker信息;
[root@server1 ~]# docker rm game1 #删除镜像,-f:强制删除;
[root@server1 ~]# docker run -it --name vm1 ubuntu #运行容器且进入容器
(1)在真机上面给server1传一个2048小游戏的镜像tar包
(2)利用docker命令导入镜像game2048.tar
(3)查看镜像信息
实例二:利用容器快速搭建一个nginx服务
docker load -i nginx.tar
docker run -d -p 8080:80 --name vm2 -v /tmp/docker/:/usr/share/nginx/html/ nginx
docker run -d -p 8080:80 --name vm2 -v /tmp/docker/:/usr/share/nginx/html/:ro nginx
(11)再次浏览器测试:输入server1的ip以及指定的端口来访问vm2容器上的nginx服务
输入ip:172.25.70.1:8080
实例三:利用docker创建一个交互式容器
[root@server1 ~]# docker run -it --name vm3 ubuntu
##创建一个vm3的容器,-it表示打开交互式docker界面(ubuntu自带,rhel镜像需要在后面再加bash)
(4)查看内核信息
容器vm3的内核版本与宿主机的内核版本一致
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 删除镜像
Docker(3)具体的安装部署过程和一些简单应用(2048小游戏,nginx,ubuntu)相关推荐
- 安装Docker,在本机上跑一个‘2048’小游戏(脉冲云在线体验)
安装Docker,在本机上跑一个'2048'小游戏 脉冲云–让软件开发效率提升十倍.在线免费体验 下面的步骤是在本机上运行的,也可以免费在脉冲云官网上部署一个在线的'2048'小游戏体验一下. 1 ...
- Docker学习(3)——安装部署过程及简单应用
一. Docker的部署与安装 1.安装docker和相关依赖性 [root@server1 docker]# ls container-selinux-2.21-1.el7.noarch.rpm d ...
- docker安装过程 和部署2048小游戏
Docker介绍: (1)什么是Docker? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化 ...
- ubuntu16.4安装部署过程
以下是ubuntu16.4安装部署过程,之前每次安装都要去找半天过程,所以自己整理了一下. 有的人可能没有这一步,无妨,继续向下 这是在给你自动配置一些东西,如果你想手动自己配置,可以选择中断,下面的 ...
- 在使用ambari进行安装部署过程中遇到的glibc问题
在使用ambari进行安装部署过程中遇到的glibc问题 使用 yum check rpm -e rpm -q 处理问题 报错信息如下: stderr: Traceback (most recent ...
- Docker系列之RabbitMQ安装部署教程
Docker系列之RabbitMQ安装部署教程 因为学习RabbitMQ需要,需要安装RabbitMQ,网上找资料,RabbitMQ官方提供了window版.Linux版.Docker版的管理页面,为 ...
- 免费开源的客服系统 Linux 服务器环境安装部署过程
最近因为项目需要,要找一款在线客服系统集成在 APP 中使用,而且涉及到生意开单,客服系统必须稳定可靠.另外甲方要求,必须支持 Linux 服务器环境. 我们以 Ubuntu 18.04 为例把安装部 ...
- FFmpeg入门详解之127:GB28181平台安装部署过程 - 可接入海康、大华、华为、科达、宇视等等设备和平台
本文章向大家介绍GB28181平台安装部署过程 - 可接入海康.大华.华为.科达.宇视等等设备和平台,主要包括GB28181平台安装部署过程 - 可接入海康.大华.华为.科达.宇视等等设备和平台使用实 ...
- linux安装2048游戏,如何在CentOS上安装一个2048小游戏
如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...
最新文章
- com词根词缀_背单词想过目不忘?看这篇文章学会用“词缀”记单词
- 动态加载子节点_简易数据分析 10 | Web Scraper 翻页—抓取「滚动加载」类型网页...
- arcgis构建金字塔失败什么原因_天猫入驻为什么失败?知舟集团给出失败原因和解决办法...
- bzoj 4237: 稻草人(CDQ分治+单调栈+二分)
- Android中Parcelable和Serializable接口用法
- babel 配置整理
- 微信小程序下载文件,保存文件功能总结
- cadence、PADS、protel教程(PCB Layout图文教程终结版)
- no-cache和no-store的区别
- 《深度剖析U8系统前后台数据关系》课程简介
- php问答系统模板,tipask问答系统
- Redis 进阶笔记
- java-锁_自我理解
- 跟着别人学学优化自己的Ubuntu 操作系统
- nohup命令原理解析
- MSELoss() 函数
- SAP常用需求关闭预留未清的处理方法
- 获取一个APP里面的图片素材
- 干货!C4D的7个实用插件分享
- 交流转直流降压、稳压电路