在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。

百度云网盘:pan.baidu.com/s/1eT1wjE3U… 提取码: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/

分类:
开发工具
标签: