文章目录
- Docker
-
- 准备docker环境
-
- 使用阿里云安装docker
- 运行容器
- Docker基本操作
- MYSQL与容器化
-
- 构建镜像练习
- 使用MYSQL容器
- 容器监控与日志
- 过程中的错误及解决方案
本文简要记录了在CentOS7中安装docker的步骤和MYSQL的容器化
Docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
准备docker环境
使用阿里云安装docker
- 建立仓库
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TVtJGc1cVWyZkMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL3kzMyIDM0UTM3EjMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
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安装:
运行容器
- 启动容器:
服务计算——容器化技术与容器服务Docker - 运行ubuntu镜像:
服务计算——容器化技术与容器服务Docker
Docker基本操作
-
显示本地镜像库:docker images
服务计算——容器化技术与容器服务Docker -
显示运行中的容器:docker ps
显示所有容器docker ps -a
服务计算——容器化技术与容器服务Docker - 继续运行并进入原容器:
服务计算——容器化技术与容器服务Docker -
获得更多帮助docker --help
MYSQL与容器化
构建镜像练习
- 尝试着构建一个docker镜像,创建一个新目录并进入,在目录下编辑dockerfile文件,录入如下内容:
![]()
服务计算——容器化技术与容器服务Docker
-
命令构建镜像docker build . -t hello
服务计算——容器化技术与容器服务Docker -
启动镜像:docker run -it --rm hello -H
服务计算——容器化技术与容器服务Docker
使用MYSQL容器
- 启动服务器:
服务计算——容器化技术与容器服务Docker - 启动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
并通过客户端容器链接服务器:
容器监控与日志
-
查看容器的日志:docker logs [OPTIONS] CONTAINER
如:查看进近30分钟内hello-world镜像的日志
2. 检查docker的状态:
docker info [OPTIONS]
3.
docker inspect
查看容器详细信息:
如:查看mysql容器的信息
过程中的错误及解决方案
- 运行某指令时,显示pid被锁定
服务计算——容器化技术与容器服务Docker
-
解决方法:
杀死占用的进程,或者直接
删除进程文件rm -f /var/run/yum.pid
服务计算——容器化技术与容器服务Docker
- 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