使用容器可以更快地构建和部署新的应用程序。Docker容器将软件及其依赖项打包成一个标准的软件开发单元,该单元包含了它需要运行的所有东西:代码、运行时、系统工具和库。这保证了你的应用程序将始终运行相同的操作,并使协作变得像共享容器映像一样简单。下面我们来介绍一下如何在CentOS中安装和使用Docker。

sudo docker pull mysql:5.7

centos装docker脚本 docker install centos_centos


如果直接使用sudo docker pull mysql命令,则表示下载安装的是最新版本的软件。

2、创建实例并启动

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

centos装docker脚本 docker install centos_docker_02

参数说明: -p 3306:3306:将容器(docker容器中)的3306端口映射到主机(docker所在的linux虚拟机)的3306端口 -v/mydata/mysql/conf/etc/mysql:将配置文件夹挂载到主机 -v/mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机 -v/mydata/mysql/data:/var/ib/mysql/:将配置文件夹挂载到主机 -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

使用 docker ps来查看当前正在运行容器,可以看到mysql已经在运行了

centos装docker脚本 docker install centos_centos_03


使用数据库管理工具来测试连接一下,可以看到是可以正常访问的

centos装docker脚本 docker install centos_devops_04

3、配置MySQL

vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set-utf8

[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

centos装docker脚本 docker install centos_centos装docker脚本_05


centos装docker脚本 docker install centos_devops_06


重启容器使配置生效:

docker restart mysql

进入mysql容器内,可以看到之前配置的信息

docker exec -it mysql /bin/bash

centos装docker脚本 docker install centos_centos装docker脚本_07

五、docker安装Redis

1、下载Redis镜像

使用docker pull redis命令来安装最新的Redis

docker pull redis

3、创建实例并启动

在linux虚拟机中创建Redis配置目录,并创建Redis配置文件:

# mkdir -p:递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
mkdir -p /mydata/redis/conf
# 创建配置文件
touch /mydata/redis/conf/redis.conf

配置Redis镜像:

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

至此,redis就安装完成了。

要使用redis,可以在命令行中直接使用docker exec -it redis redis-cli命令就可以进行redis的命令行控制界面。

虽然redis安装好了,但是有一个问题,就是redis并没有启用持久化操作,因此我们存放在redis中的数据,只要redis被重启就会消失,因此我们还需要开启redis的AOF持久化功能。

进入redis的conf文件

centos装docker脚本 docker install centos_centos_08


添加appendonly yes,保存并退出。

修改完之后需要使用docker restart redis命令来重启redis镜像使之生效。

为了更方便的使用redis,我们一般使用redis的可视化工具Redis Desktop Manager来连接redis。

安装完成后输入我们的redis服务所在地址就可以连接使用了:

centos装docker脚本 docker install centos_centos装docker脚本_09


六、设置Redis和MySQL镜像自动启动

使用管理员权限在linux命令行中进行如下设置,就可以在每次虚拟器启动时让mysql和redis随docker启动而启动。

docker update redis --restart=always
docker update mysql --restart=always