在CentOS中安装和使用Docker

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

一、安装 CentOS

如何安装 CentOS 可以参考使用 Virtual BOX 和 vagrant 创建虚拟机这篇文章。

二、在 CentOS 中安装Docker

1、首先卸载旧的安装版本(新机器可以跳过这一步)

Docker的旧版本被称为DockerDocker -engine。如果安装了它们,请卸载它们以及相关的依赖项。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
在这里插入图片描述

2、安装所需要的包

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
在这里插入图片描述

安装完成后:


在这里插入图片描述

3、设置仓库

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
在这里插入图片描述

4、安装docker引擎

sudo yum install docker-ce docker-ce-cli containerd.io
在这里插入图片描述

安装完成后:


在这里插入图片描述

5、启动 docker

sudo systemctl start docker

6、查看docker版本

 docker -v
在这里插入图片描述

7、查看docker中的镜像

docker images #提示需要权限,可以使用 sudo docker images
查看docker中的镜像

8、设置 docker 开机自启动

因为docker不是开机自启的,如果我们经常使用的话,每一次开机都都需要手动启动,这个时候可以设置docker为开机自启。

 sudo systemctl enable docker
设置 docker 开机自启动

三、设置阿里云镜像加速器

因为docker自己提供的镜像大多在国外,服务访问较慢,因此为了提高镜像的访问速度,我们可以来设置使用阿里云的镜像加速服务。如果自己有阿里云,可以查看自己的加速服务,具体查看方式参考此文:查看阿里云加速服务

创建docker目录:

sudo mkdir -p /etc/docker

配置镜像加速器地址:

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF

重启docker守护和服务:

sudo systemctl daemon-reload && sudo systemctl restart docker

注意:本加速只针对CentOS系统

四、docker安装MySQL

1、安装MySQL镜像

在docker仓库中找到我们需要安装的软件,执行sudo docker pull xxx:a.b即可下载安装我们需要的软件。例如我们安装mysql的5.7版本,则使用如下命令:

sudo docker pull mysql:5.7

在这里插入图片描述

如果直接使用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
在这里插入图片描述

参数说明:
-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已经在运行了

在这里插入图片描述

使用数据库管理工具来测试连接一下,可以看到是可以正常访问的
在这里插入图片描述

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
在这里插入图片描述

在这里插入图片描述

重启容器使配置生效:

docker restart mysql

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

 docker exec -it mysql /bin/bash
在这里插入图片描述

五、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文件

在这里插入图片描述

添加appendonly yes,保存并退出。
修改完之后需要使用docker restart redis命令来重启redis镜像使之生效。
为了更方便的使用redis,我们一般使用redis的可视化工具Redis Desktop Manager来连接redis。

百度云网盘:https://pan.baidu.com/s/1eT1wjE3UwHYrRDVe5fio6A
提取码:4v94

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

在这里插入图片描述

更多redie配置和资料请访问官方文档

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

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

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

参考资料:
https://docs.docker.com/install/linux/docker-ce/centos/
https://redis.io/documentation
https://dev.mysql.com/doc/

你可能感兴趣的:(在CentOS中安装和使用Docker)