Docker与应用容器化

本文详细介绍了Docker的安装过程,包括内核升级、卸载旧安装、阿里云镜像源使用,以及启动和运行。接着,讲解了Docker基本操作,如运行镜像、查看容器等。重点讲述了MySQL的容器化,包括拉取镜像、构建Dockerfile、挂载数据卷等,最后总结了实验体验,强调了动手操作的重要性。

Docker简介

通俗来说,Docker就是一个可以将软件打包在一个标准的“货柜”里,并可以轻松迁移的平台。Docker容器打包软件到一个包含了所有运行所需环境,包括代码、运行时状态、系统工具、系统库等任何可以被安装在服务器上的环境中的文件系统里,这样软件无论被迁移到哪里都是同样的运行环境。如果开发环境没有问题,用Docker打包成容器在服务器上运行,就不会再遇见环境问题。

Docker 现在几乎是容器的代名词。确实,是 Docker 将容器技术发扬光大。同时,围绕 Docker 还有一个生态系统。Docker 是这个生态系统的基石,但完善的生态系统才是保障 Docker 以及容器技术能够真正健康发展的决定因素。

Docker安装

内核升级

由于安装需要CentOS系统内核版本高于3.10,我们首先升级内核:

1.导入key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2.安装elrepo的yum源

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3.安装内核

yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml

当前为5.4.3:
在这里插入图片描述
4.查看默认启动顺序

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg 

在这里插入图片描述
默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.4.4的是在1),所以需要选择0:

grub2-set-default 0

然后reboot重启,使用新的内核,下面是重启后使用的内核版本:
在这里插入图片描述
5.删除旧的内核

yum remove kernel

卸载之前的安装

如果之前安装过:

# 移除
yum -y remove docker docker-common docker-selinux docker-engine docker-engine-selinux container-selinux docker-ce

# 或者
yum -y remove docker*

#删除所有的镜像、容器、数据卷、配置文件等
sudo rm -rf /var/lib/docker

# 查看安装的docker相关软件 卸载情况
yum list installed | grep docker

使用国内阿里云安装

# 设置 repository
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 使用阿里云镜像
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 不指定版本号 默认安装最新版
sudo yum install docker-ce

启动和运行

启动docker:

sudo systemctl start docker

尝试运行hello-world 映像:

sudo docker run hello-world

由于是第一次运行,这里会出现找不到image 'hello-world:latest’的情况:
在这里插入图片描述
不过很快docker会自动从Docker Hub上获取到最新的Hello World镜像,下载到了本地。然后即可运行成功:
在这里插入图片描述

Docker操作

1.运行镜像:

使用命令:

docker run -it ubuntu bash

为了提高下载速度,可以将镜像换成阿里云的镜像:
在这里插入图片描述
运行结果如下所示:
在这里插入图片描述
2.显示本地镜像库

使用命令:

docker images

在这里插入图片描述
3.查看帮助信息
使用命令:

docker --help

在这里插入图片描述
4.显示运行中的容器

使用命令:

docker ps

在这里插入图片描述
5.显示所有容器

使用命令:

docker ps -a

在这里插入图片描述
6.继续运行原容器并进入

使用命令:

# your docker name
docker restart naughty_panini
docker ps
docker attach naughty_panini

在这里插入图片描述

MySQL与容器化

拉取镜像

使用命令:

docker pull mysql:5.7

在这里插入图片描述

构建Docker

1.录入内容

创建一个文件夹并创建一个文件:
在这里插入图片描述
添加内容如下所示:
在这里插入图片描述
2.构建镜像

使用命令:

docker build . -t hello

在这里插入图片描述
3.运行镜像

使用命令:

docker run -it --rm hello -H

在这里插入图片描述

使用MySQL容器

1.启动服务器

使用命令:

sudo docker run -p 3306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker ps

在这里插入图片描述
2.启动客户端

首先输入命令启动容器内 sh 进程:

docker run -it --net host mysql:5.7 "sh"

进入到docker命令行下运行以下命令即可启动MySQL客户端:

mysql -h127.0.0.1 -P3306 -uroot -proot

在这里插入图片描述
3.执行数据库操作

我们可以执行一些简单的mysql语句进行测试:

create database test;
use test;

CREATE TABLE `userinfo` (
    `uid` INT(10) NOT NULL AUTO_INCREMENT,
    `username` VARCHAR(64) NULL DEFAULT NULL,
    `departname` VARCHAR(64) NULL DEFAULT NULL,
    `created` DATE NULL DEFAULT NULL,
    PRIMARY KEY (`uid`)
);

CREATE TABLE `userdetail` (
    `uid` INT(10) NOT NULL DEFAULT '0',
    `intro` TEXT NULL,
    `profile` TEXT NULL,
    PRIMARY KEY (`uid`)
);

在这里插入图片描述
4.挂载卷保存db

查看数据库文件:

docker exec -it mysql2 bash

进入docker命令行,输出如下命令:

ls /var/lib/mysql

在这里插入图片描述
5.Dockerfile 的 VOLUME /var/lib/mysql 的含义

使用命令:

docker container prune -f
docker volume prune –f
docker volume ls

在这里插入图片描述
6.创建卷并挂载

使用命令:

docker rm $(docker ps -a -q) -f -v
docker volume create mydb
docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=root -v mydb:/var/lib/mysql -d mysql:5.7

在这里插入图片描述
7.启动客户端容器链接服务器

使用命令:

docker run --name myclient --link mysql2:mysql -it mysql:5.7 bash

启动bash命令后,输入env查看环境变量:

env

然后启动mysql客户端链接到服务器:

mysql -hmysql -P3306 -uroot -proot

在这里插入图片描述

实验总结

本次实验主要是学习了如何安装Docker,在安装内核的过程中花费的时间比较长,主要是一些命令不熟悉的缘故,而且因为种种原因虚拟机的增强功能还出现了一些问题,不过最后终于是调好了。本次实验中,也自己尝试了一些Docker的基本操作命令,学习了使用Docker容器化的方式启动MySQL,也让自己回顾了一下数据库的相关知识,总的来说还是收获较多,实际进行操作比单单看印象会更加深刻。

Nano-ESG数据资源库的构建基于2023年初至2024年秋季期间采集的逾84万条新闻文本,从中系统提炼出企业环境、社会及治理维度的信息。其构建流程首先依据特定术语在德语英语新闻平台上检索,初步锁定德国DAX 40成分股企业相关联的报道。随后借助嵌入技术对文本段落执行去重操作,以降低内容冗余。继而采用GLiNER这一跨语言零样本实体识别系统,排除目标企业无关的文档。在此基础上,通过GPT-3.5GPT-4o等大规模语言模型对文本进行双重筛选:一方面判定其ESG议题的相关性,另一方面生成简明的内容概要。最终环节由GPT-4o模型完成,它对每篇文献进行ESG情感倾向(正面、中性或负面)的判定,并标注所涉及的ESG具体维度,从而形成具备时序特征的ESG情感维度标注数据集。 该数据集适用于多类企业可持续性研究,例如ESG情感趋势分析、ESG维度细分类别研究,以及企业可持续性事件的时序演变追踪。研究者可利用数据集内提供的新闻摘要、情感标签维度分类,深入考察企业在不同时期的环境、社会及治理表现。此外,借助Bertopic等主题建模方法,能够从数据中识别出企业相关的核心ESG议题,并观察这些议题随时间的演进轨迹。该资源以其开放获取特性连续的时间覆盖,为探究企业可持续性表现的动态变化提供了系统化的数据基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值