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

文章目录

  • Docker
    • 准备docker环境
      • 使用阿里云安装docker
    • 运行容器
    • Docker基本操作
    • MYSQL与容器化
      • 构建镜像练习
      • 使用MYSQL容器
      • 容器监控与日志
    • 过程中的错误及解决方案

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

Docker

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

准备docker环境

使用阿里云安装docker

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

服务计算——容器化技术与容器服务_第1张图片
2. 获取阿里云docker

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

服务计算——容器化技术与容器服务_第2张图片
3. 查看指定版本

yum list docker-ce --showduplicates

可以看到有多种版本的docker选择安装
服务计算——容器化技术与容器服务_第3张图片
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版本:
服务计算——容器化技术与容器服务_第4张图片
5. 也可以通过sudo yum install docker-ce默认安装最新版,不指定版本号
6. 启动docker

Start docker service
systemctl enable docker
systemctl start docker

docker version检查docker安装:
服务计算——容器化技术与容器服务_第5张图片

运行容器

  1. 启动容器:
    服务计算——容器化技术与容器服务_第6张图片
  2. 运行ubuntu镜像:
    服务计算——容器化技术与容器服务_第7张图片

Docker基本操作

  1. docker images显示本地镜像库:
    在这里插入图片描述
  2. docker ps显示运行中的容器:
    docker ps -a显示所有容器
    服务计算——容器化技术与容器服务_第8张图片
  3. 继续运行并进入原容器:
    服务计算——容器化技术与容器服务_第9张图片
  4. docker --help获得更多帮助

MYSQL与容器化

构建镜像练习

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

在这里插入图片描述

  1. docker build . -t hello命令构建镜像
    服务计算——容器化技术与容器服务_第10张图片
  2. docker run -it --rm hello -H启动镜像:
    服务计算——容器化技术与容器服务_第11张图片

使用MYSQL容器

  1. 启动服务器:
    服务计算——容器化技术与容器服务_第12张图片
  2. 启动MYSQL客户端:
docker run -it --net host mysql:5.7 "sh"
mysql -h127.0.0.1 -p3306 -uroot -proot

进入mysql客户端,顺利执行mysql基本操作:
服务计算——容器化技术与容器服务_第13张图片
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

并通过客户端容器链接服务器:
服务计算——容器化技术与容器服务_第14张图片

容器监控与日志

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

如:查看进近30分钟内hello-world镜像的日志服务计算——容器化技术与容器服务_第15张图片
2. 检查docker的状态:docker info [OPTIONS]

服务计算——容器化技术与容器服务_第16张图片
在这里插入图片描述
3. docker inspect 查看容器详细信息:

如:查看mysql容器的信息服务计算——容器化技术与容器服务_第17张图片

过程中的错误及解决方案

  1. 运行某指令时,显示pid被锁定
    服务计算——容器化技术与容器服务_第18张图片
  • 解决方法:
    杀死占用的进程,或者直接rm -f /var/run/yum.pid 删除进程文件
    服务计算——容器化技术与容器服务_第19张图片
  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

你可能感兴趣的:(服务计算)