服务计算——容器化技术与容器服务

本文介绍了Docker的使用,包括在阿里云上安装Docker,运行容器,进行Docker基本操作,如镜像管理和容器监控。还详细讲解了MYSQL的容器化,包括构建镜像,启动MYSQL容器,以及遇到的问题和解决方案,如容器日志查看和状态检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本文简要记录了在CentOS7中安装docker的步骤和MYSQL的容器化

Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

准备docker环境

使用阿里云安装docker

  1. 建立仓库
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述
2. 获取阿里云docker

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述
3. 查看指定版本

yum list docker-ce --showduplicates

可以看到有多种版本的docker选择安装
在这里插入图片描述
4. 安装指定版本

yum install -y --setopt=obsoletes=0 \
   docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
   docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch

我们选择安装17.03.2版本:
在这里插入图片描述
5. 也可以通过sudo yum install docker-ce默认安装最新版,不指定版本号
6. 启动docker

Start docker service
systemctl enable docker
systemctl start docker

docker version检查docker安装:
在这里插入图片描述

运行容器

  1. 启动容器:
    在这里插入图片描述
  2. 运行ubuntu镜像:
    在这里插入图片描述

Docker基本操作

  1. docker images显示本地镜像库:
    在这里插入图片描述
  2. docker ps显示运行中的容器:
    docker ps -a显示所有容器
    在这里插入图片描述
  3. 继续运行并进入原容器:
    在这里插入图片描述
  4. docker --help获得更多帮助

MYSQL与容器化

构建镜像练习

  1. 尝试着构建一个docker镜像,创建一个新目录并进入,在目录下编辑dockerfile文件,录入如下内容:

在这里插入图片描述

  1. docker build . -t hello命令构建镜像
    在这里插入图片描述
  2. docker run -it --rm hello -H启动镜像:
    在这里插入图片描述

使用MYSQL容器

  1. 启动服务器:
    在这里插入图片描述
  2. 启动MYSQL客户端:
docker run -it --net host mysql:5.7 "sh"
mysql -h127.0.0.1 -p3306 -uroot -proot

进入mysql客户端,顺利执行mysql基本操作:
在这里插入图片描述
3. 创建卷并挂载:

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

并通过客户端容器链接服务器:
在这里插入图片描述

容器监控与日志

  1. docker logs [OPTIONS] CONTAINER 查看容器的日志:

如:查看进近30分钟内hello-world镜像的日志在这里插入图片描述
2. 检查docker的状态:docker info [OPTIONS]

在这里插入图片描述
在这里插入图片描述
3. docker inspect 查看容器详细信息:

如:查看mysql容器的信息在这里插入图片描述

过程中的错误及解决方案

  1. 运行某指令时,显示pid被锁定
    在这里插入图片描述
  • 解决方法:
    杀死占用的进程,或者直接rm -f /var/run/yum.pid 删除进程文件
    在这里插入图片描述
  1. docker启动时:Got permission denied while trying to connect to the Docker daemon
  • 问题:没有把登陆用户加入进docker用户组
  • 解决方法:
sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组

3. docker-compose与yum对python版本的支持不兼容问题

由于安装docker-compose需要python2.7的支持,而yum是不支持python2.7的,所以需要为yum指定python2.6

yum时出现的错误:

# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
 No module named yum
... ... ... ...
  • 解决方法:
    编辑yum配置文件:
# vim /usr/bin/yum
#!/usr/bin/python
# 第一行修改为 python2.6.6
#!/usr/bin/python2.6.6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值