学习目标:
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安装Dockersudo yum install docker-ce docker-ce-cli containerd.io
#启动Dockersudo systemctl start docker#设置Docker开机自启sudo systemctl enabledocker#查看Docker版本sudodocker version
步骤4: 配置镜像加速
这里用中国科学技术大学(LUG@USTC)的开源镜像:https://docker.mirrors.ustc.edu.cn和网易的开源镜像:http://hub-mirror.c.163.com。
USTC 是老牌的 Linux 镜像服务提供者了,USTC 的 Docker 镜像加速服务速度很快。USTC 和网易的优势之一就是不需要注册,属于真正的公共服务。
#编辑文件sudovi /etc/docker/daemon.json
#在文件中输入以下内容并保存{"registry-mirrors":["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]}# 重新加载某个服务的配置文件sudo systemctl daemon-reload
# 重新启动 Dockersudo systemctl restart docker
步骤5: 开启远程访问
编辑Docker服务器上对应的配置文件
vi /usr/lib/systemd/system/docker.service
重启Docker
sudo systemctl daemon-reload
sudoservicedocker restart
重启完成后可通过浏览器访问http://Docker主机IP:2375/version将输出Docker版本信息,若无法访问请检查防火墙设置。
步骤6: 启动Docker服务
安装完成后,我们需要启动Docker服务,并将其设置为开机自启动。执行以下命令:
sudo systemctl start dockersudo systemctl enabledocker
步骤7: 验证安装
最后,我们可以运行一个简单的Docker命令来验证安装是否成功。执行以下命令:
docker--version
如果顺利,你将看到Docker版本信息,表示安装成功。
你已成功在Linux操作系统上安装了Docker。现在,你可以开始使用Docker来构建、发布和运行容器化应用程序。
二、安装MYSQL
1、拉取官方镜像
# 拉取 mysql 5.7 如果不写后面的版本号则会自动拉取最新版sudodocker pull mysql:5.7
2、创建并启动容器
创建文件夹,用于存放MYSQL配置文件、日志以及数据。
sudomkdir-p /home/docker/mysql/conf /home/docker/mysql/logs /home/docker/mysql/data
创建并编辑配置文件
sudovi /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
创建容器并挂载目录
sudodocker run -p3306: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
-eMYSQL_ROOT_PASSWORD=root@12580
-d mysql:5.7
#参数说明-p3306: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 映射数据目录
-eMYSQL_ROOT_PASSWORD=root@12580 root用户密码
-d mysql:5.7 后台运行-镜像名称
3、连接MYSQL
进入Docker终端通过mysql客户端访问Mysql
sudodockerexec-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未设置远程访问权限
sudodockerexec-it mysql /bin/bash
sudo mysql -uroot -proot@12580
mysql> grant all privileges on *.* to root@'%' identified by "root@12580";
学习产出:
:
- CSDN 技术博客 1 篇
- 安装docker服务
版权归原作者 鲸落南北zz 所有, 如有侵权,请联系我们删除。