加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

云计算技术 实验一 安装docker系统并熟悉docker命令

发布时间:2022-11-25 22:41:06 所属栏目:云计算 来源:互联网
导读: 环境为windows11,虚拟机为16.04。
需要使用厦门大学林子雨老师的实验镜像进行实验,使用的操作系统为VirtualBox。
VirtualBox下载地址为:Downloads – Oracle VM VirtualBox
镜像为:大数

环境为windows11,虚拟机为16.04。

需要使用厦门大学林子雨老师的实验镜像进行实验,使用的操作系统为VirtualBox。

VirtualBox下载地址为:Downloads – Oracle VM VirtualBox

镜像为:大数据Linux实验环境虚拟机镜像文件_厦大数据库实验室博客

天霆云计算 第六届云计算大会_调度绞车提升能力计算_云计算调度系统

如若系统之前安装过docker,则可以完全卸载干净,如

ubuntu 完全干净的卸载docker_nativeCloud的博客-CSDN博客_ubuntu卸载docker

在VirtualBox开始界面左上角选择管理->导入虚拟电脑。

1.实验学时

4学时

2.实验目的

3.

3.实验内容

(1)安装虚拟机和Linux环境。

安装之后:

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

(2)安装Docker系统,并启动docker服务,打印Docker版本信息。

启动docker服务

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

Docker版本信息:

调度绞车提升能力计算_云计算调度系统_天霆云计算 第六届云计算大会

(3)完成Docker的基本操作(镜像、容器)

首先配置

下载完对应镜像之后,需要在linux中对应的docker文件下创建daemon.json文件输入内容.

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

之后使用vim打开编辑.

天霆云计算 第六届云计算大会_调度绞车提升能力计算_云计算调度系统

修改之后重启:

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

使用help查看命令:

调度绞车提升能力计算_云计算调度系统_天霆云计算 第六届云计算大会

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

镜像操作:

查找镜像:查找go语言

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

下载go语言,mysql

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

调度绞车提升能力计算_云计算调度系统_天霆云计算 第六届云计算大会

查看下载的镜像

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

删除镜像:删去hello-world

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

获取mysql信息

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

容器操作:

先下载一个镜像:

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

新建,运行,输出容器:

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

查看所有容器:

天霆云计算 第六届云计算大会_调度绞车提升能力计算_云计算调度系统

查看容器ID

启动之前停止的容器

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

停止之前启动的容器:

删除容器

调度绞车提升能力计算_云计算调度系统_天霆云计算 第六届云计算大会

查看日志

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

进入正在运行的容器,打开交互式终端

拷贝文件:

容器中的文件拷贝到主机

先创建一个容器zhou-a

创建存放文件的目录,创建文件夹b

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

主机中的a.txt x.txt 文件拷贝到容器中,拷贝到文件夹b

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

拷贝a.txt文件,使用ls -al /b 命令显示容器内文件夹中的文件

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

拷贝x.txt文件

调度绞车提升能力计算_云计算调度系统_天霆云计算 第六届云计算大会

将容器内的a.txt文件传入主机lib文件夹下

天霆云计算 第六届云计算大会_调度绞车提升能力计算_云计算调度系统

获取容器信息:

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

(4)使用Dockerfile构建镜像

首先创建Dockerfile文件,以及对应的路径.

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

之后使用gedit修改Dockerfile中的文件信息,输入对应的内容

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

之后构建版本,创建镜像;

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

查看新创建的镜像:

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

之后使用新建的这个镜像映射端口.

之后在浏览器上面测试是否已经运行apache

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

成功运行。

之后编写常用的命令

先在之前的文件夹下打开文件进行编写

1.指定容器运行的用户,可以向文档里面加入USER shiyanlou

2.指定后续的命令执行目录:WORKDIR /var/www/html

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

3.对外连接端口号:EXPOSE 80

调度绞车提升能力计算_云计算调度系统_天霆云计算 第六届云计算大会

4.设计主机的名字:ENV HOSTNAME shiyanloutest

5. 向镜像中增加文件:COPY simplecloudsite /var/www/html

6.使用ADD命令添加本地的tar压缩包命令,使压缩包自动压缩,同时可以自动下载URL并且拷贝到镜像。

ADD html.tar /var/www

ADD /var/www

ADD html.tar /var/www

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

7. 将apache访问的日志数据存储到宿主机可以访问的数据卷中:

VOLUME ["/var/log/apche2"]

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

8.设置容器内的环境变量

使用ENV设置apache启动的环境变量

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

7.使用supervisord

如果需要运行多个服务,最好需要在不同的容器中运行,使用link进行连接。需要在一个容器中运行多个服务是可以考虑使用supervisord进行进程的管理。这种方法就是将多个启动命令放在一个启动脚本中。

使用supervisord需要使用安装命令。

RUN apt-get install -yqq supervisor RUN mkdir -p /var/log/supervisor

需要将配置文件进行拷贝

COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

#配置文件内部内容

[supervisord]

nodaemon=true

[program:apache2]

command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2ctl -D FOREGROUND"

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

修改CMD命令用于启动supervisord

CMD ["/usr/bin/supervisord"]

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

经过整理之后得到文件:

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

之后编写一个json文件,将上面的代码放在.json里面

天霆云计算 第六届云计算大会_调度绞车提升能力计算_云计算调度系统

云计算调度系统_调度绞车提升能力计算_天霆云计算 第六届云计算大会

之后下载静态页面文件压缩包

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

之后创建镜像信息:

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

查看镜像:

云计算调度系统_天霆云计算 第六届云计算大会_调度绞车提升能力计算

查看镜像详细信息:

天霆云计算 第六届云计算大会_云计算调度系统_调度绞车提升能力计算

天霆云计算 第六届云计算大会_调度绞车提升能力计算_云计算调度系统

之后根据这个镜像创建新容器web2,并且映射本地的80端口到容器的80端口。

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

之后打开浏览器,输入127.0.0.1查看网站。

调度绞车提升能力计算_天霆云计算 第六届云计算大会_云计算调度系统

4.思考题

(1)安装Docker的时候遇到什么问题?采用什么方法解决的?

安装Docker时,使用apt update更新软件时下载速度过慢,这个时候可以修改下载源为清华云.

调度绞车提升能力计算_云计算调度系统_天霆云计算 第六届云计算大会

配置镜像加速时,需要新建.json文件,使用gedit方法打开更快.

如果之前不小心设置过错误的容器,可以使用docker ps -l 方法删除容器

(2)Docker容器操作和虚拟机有啥区别,各自的优缺点有哪些?

区别:

虚拟机是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在 Windows 系统里面运行 Ubuntu 系统,这样就可以运行的Ubuntu应用。

Docker仅仅是封装函数库,并没有模拟完整的操作系统.Docker只是一个系统进程,虚拟机是在操作系统中的操作系统.

Docker优点:

1.Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多.

2.Docker容器对系统资源需求很少,一台主机上可以同时运行数千Docker容器。

3.Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。

4. Docker通过Dockerfile 配置文件来支持灵活的自动化创建和部署机制, 提高工作效率。

Docker缺点:

1.与虚拟机相比,隔离性不好.容器之间共享同一个操作系统内核以及其他组件,在收到攻击之类的情况发生时,更容易通过底层操作系统影响到其他容器。

2.性能问题.当同一虚拟机或者服务器下面的容器需要更高并发量支撑的时候,也就是并发问题成为应用瓶颈的时候云计算调度系统,容器会将这个问题放大.

3.存储方案.容器本身不是为操作系统抽象服务的.容器为了实现数据持久化需要使用volume接口形成数据的映射和转移.这样的话会造成一部分资源浪费和更多的交互产生,这并不是很好的方案.

虚拟机缺点:

1.虚拟机占用的资源更多.虚拟机会独占一部分内存和硬盘空间。虚拟机运行的时候,其他程序就不能使用这些资源了。

2.操作步骤过多.虚拟机是完整的操作系统,与容器不同的是,一些系统级别的操作比如说用户登录虚拟机无法跳过.

3.虚拟机启动慢.启动虚拟机所需的时间慢,需要等到虚拟机成功启动之后才能使用程序.

虚拟机优点;

1.与宿主机隔离.在虚拟机中进行的操作,不会影响到宿主机,他们之间是完全隔阂的.

2.软件测试更加便捷.由于虚拟机可以进行虚拟化,可以模拟多个特定的使用场景,对软件进行不同环境下的测试.

3. 更容易复制和迁移.虚拟机可以很容易地复制和迁移。只要其它的宿主机系统支持该虚拟化程序,你就可以很容易地迁移它,而没有特别要求。

4.便于调试.操作者以快速尝试大量的调试方法而无需考虑影响。同时,如果宿主机是 Linux 系统的话,无需宿主机上的 root 权限便可以访问和修改虚拟机中的配置文件。

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!