学习目标:

CentOS 7.9下安装Docker及常用镜像

  • centos7.9安装Docker镜像

学习内容:

一、安装Docker

1. 搭建 Docker 环境

Docker 是一款强大的容器化平台,为开发者提供了一种轻松打包、发布和运行应用的方式。在本文中,我们将探讨如何在Linux操作系统上安装Docker,

环境准备

操作系统版本为centos 7.9,内核版本需要在3.10以上,需要保障能够连通互联网,为了避免安装过程中出现网络异常建议关闭linux的防火墙(生产环境下不要关闭防火墙,可根据实际情况设置防火墙出入站规则)。

#查看内核版本
sudo uname -r
#查看系统版本
sudo cat /etc/redhat-release
#关闭防火墙
sudo systemctl stop firewalld
#禁用防火墙开机自启
sudo systemctl disable firewalld

步骤1: 卸载依赖

在安装新版Docker之前,建议先卸载旧版本,以确保系统的干净升级。你可以通过以下命令卸载旧版本:

#卸载Docker相关依赖
sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine

步骤2:安装工具包并设置仓库。

3、安装工具包并设置仓库。在安装Docker之前,我们需要安装一些必要的依赖包,以确保Docker正常运行。执行以下命令安装这些依赖:

#安装工具包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述

#设置yum仓库
sudo yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

步骤3: 安装Docker

#通过yum安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io

在这里插要多次确认入图片描述

#启动Docker
sudo systemctl start docker
#设置Docker开机自启
sudo systemctl enable docker
#查看Docker版本
sudo docker version

在这里插入图片描述

步骤4: 配置镜像加速

这里用中国科学技术大学(LUG@USTC)的开源镜像:https://docker.mirrors.ustc.edu.cn和网易的开源镜像:http://hub-mirror.c.163.com

USTC 是老牌的 Linux 镜像服务提供者了,USTC 的 Docker 镜像加速服务速度很快。USTC 和网易的优势之一就是不需要注册,属于真正的公共服务。

#编辑文件
sudo vi  /etc/docker/daemon.json
#在文件中输入以下内容并保存
{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
# 重新加载某个服务的配置文件
sudo systemctl daemon-reload
# 重新启动 Docker
sudo systemctl restart docker

步骤5: 开启远程访问

编辑Docker服务器上对应的配置文件

vi /usr/lib/systemd/system/docker.service

重启Docker

sudo systemctl daemon-reload
sudo service docker restart

重启完成后可通过浏览器访问http://Docker主机IP:2375/version将输出Docker版本信息,若无法访问请检查防火墙设置。

步骤6: 启动Docker服务

安装完成后,我们需要启动Docker服务,并将其设置为开机自启动。执行以下命令:

sudo systemctl start docker
sudo systemctl enable docker

步骤7: 验证安装

最后,我们可以运行一个简单的Docker命令来验证安装是否成功。执行以下命令:

docker --version

如果顺利,你将看到Docker版本信息,表示安装成功。

你已成功在Linux操作系统上安装了Docker。现在,你可以开始使用Docker来构建、发布和运行容器化应用程序。

二、安装MYSQL

1、拉取官方镜像

# 拉取 mysql 5.7 如果不写后面的版本号则会自动拉取最新版
sudo docker pull mysql:5.7     

2、创建并启动容器

创建文件夹,用于存放MYSQL配置文件、日志以及数据。

sudo mkdir -p /home/docker/mysql/conf /home/docker/mysql/logs /home/docker/mysql/data

创建并编辑配置文件

sudo vi /home/docker/mysql/conf/my.conf

my.conf配置文件内容如下,可根据实际情况做适当调整。

[mysqld]

character-set-server=utf8

#绑定IPv4和3306端口

bind-address = 0.0.0.0

port = 3306

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

default_storage_engine=innodb

innodb_buffer_pool_size=1000M

innodb_log_file_size=50M

# 允许最大连接数

max_connections=1000

# 时区

default-time-zone = '+8:00'

[mysql]

default-character-set=utf8

[mysql.server]

default-character-set=utf8

[mysql_safe]

default-character-set=utf8

创建容器并挂载目录

sudo docker run -p 3306:3306 --name mysql 
--restart always  
--privileged=true  
-v /home/docker/mysql/conf:/etc/mysql 
-v /home/docker/mysql/logs:/var/log/mysql 
-v /home/docker/mysql/data:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=root@12580 
-d mysql:5.7

#参数说明
-p 3306:3306 映射端口
--name mysql 容器名称
--restart always 自动启动容器
--privileged=true 提升容器内权限
-v /home/docker/mysql/conf:/etc/mysql 映射配置文件目录
-v /home/docker/mysql/logs:/var/log/mysql 映射日志目录
-v /home/docker/mysql/data:/var/lib/mysql 映射数据目录
-e MYSQL_ROOT_PASSWORD=root@12580 root用户密码
-d mysql:5.7 后台运行-镜像名称

3、连接MYSQL

进入Docker终端通过mysql客户端访问Mysql

sudo docker exec -it  mysql  /bin/bash
sudo mysql -uroot -proot@12580

远程连接MYSQL时连接信息如下:

host:127.0.0.1 #安装Docker的主机IP
port:3306
user:root
password:root@12580

如果容器运行正常,但是无法访问到MySQL,一般有以下几个可能的原因:

#开放端口
sudo systemctl status firewalld
sudo firewall-cmd  --zone=public --add-port=3306/tcp -permanent
sudo firewall-cmd  --reload

#关闭并禁用防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld

MYSQL未设置远程访问权限

sudo docker exec -it  mysql  /bin/bash
sudo mysql -uroot -proot@12580
mysql> grant all privileges on *.* to root@'%' identified by "root@12580";

学习产出:

  • CSDN 技术博客 1 篇
  • 安装docker服务
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐