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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355