【Docker篇】Linux安装Docker、docker安装mysql、redis、rabbitmq
•
大数据
1.Linux安装docker
官方帮助文档:Install Docker Engine on CentOS | Docker Docs
1.1安装命令
# 1. 卸载之前的docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 2.需要的安装包 yum install -y yum-utils # 3.设置镜像的仓库(国内/国外) # 默认是从国外的,不推荐,linux命令直接报错:连接docker官网超时 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo # 推荐使用国内的 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum软件包索引 yum makecache # 4.安装docker相关的 docker-ce 社区版 而ee是企业版 yum install docker-ce docker-ce-cli containerd.io # 5、启动docker service docker start # 6、查看docker状态 service docker status # 7、 使用docker version查看是否按照成功 docker version # 补充:设置docker开机自启动 systemctl enable docker.service #查看docker是否开机自启动成功 systemctl is-enabled docker
1.2配置阿里云镜像加速


-
命令列表
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://svctvo40.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1.3删除镜像、容器
参考链接:
删除Docker镜像时image is being used by stopped container-CSDN博客
#1、停止容器 docker stop 容器id/容器名称 #2、删除容器 docker rm 容器id/容器名称 #3、删除镜像 docker rmi 镜像名称
2.docker配置mysql
2.1安装以及运行、远程连接
(1)安装,以及运行mysql5.7容器
#安装镜像命令,注意不能少了冒号 docker pull mysql:5.7 #注意:新建容器之前,先关闭之前安装的mysql8.0,因为mysql默认端口号为3306 命令:service mysql stop # 新建容器;名称为mysql5.7 sudo docker run -p 3312:3306 --name mysql5.7 \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=a19720603A \ -d mysql:5.7 # 参数说明 -p 3312:3306 将容器的3306端口映射到主机的3312端口 # -v 宿主机文件目录:容器内目录 将容器内文件挂载到宿主机上 # -e MYSQL_ROOT_PASSWORD=root 设置mysql密码为 # -d 后台启动 # --name 给启动容器起名字 # 补充,设置容器自启动 # 首先需要确保mysql5.7是关闭的状态 docker update --restart=always mysql5.7
(2)运行mysql5.7
docker start mysql5.7
-
进入mysql5.7容器
docker exec -it mysql5.7 bash
-
进入mysql环境
mysql -u root -p
输入密码:默认为root,若创建容器有指定密码,则输入指定密码
-
创建用户admin并开启远程登录
# 创建用户 CREATE USER 'admin'@'%' IDENTIFIED BY 'aaaa19720603AAAA!!!!'; # 给账号授权数据库 GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; # 刷新权限 FLUSH PRIVILEGES;
(3)远程连接
使用navicat等数据库软件连接即可
2.2修改mysql配置文件
# 进入配置文件挂载的目录下 cd /mydata/mysql/conf # 新增配置文件my.cnf vim 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 mysql5.7
进入mysql5.7容器,并查看/etc/mysql目录下的my.conf配置文件是否存在
3.docker配置redis
3.1安装、运行redis
# 1、创建配置文件 mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf # 2、下载镜像 docker pull redis # 3、启动容器 # 云服务器一定要修改端口或配置密码,否则会被拉去挖矿 docker run -p 6124: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 # 4、直接进入redis客户端 docker exec -it redis redis-cli
3.2修改配置文件
(1)修改参数说明
修改redis.conf,使其支持远程连接
#以下为各个参数解释,不是加入到配置文件的内容 #127.0.0.1 取消指定网卡的redis请求,可以接受来自任意一个主机的redis请求 protected-mode no 关闭保护模式 appendonly yes 将数据持久化 requirepass 123456 设置密码
vim /mydata/redis/conf/redis.conf # 插入下面内容 #bind 127.0.0.1 protected-mode no appendonly yes requirepass 123456 注意,注意:不要有中文注释,否则会运行不了redis容器,原因为配置文件redis.conf中有注释中文,亲自踩了两天的坑 # 保存并重启 docker restart redis # 进入redis客户端 docker exec -it redis redis-cli # 输入密码 auth 123456
(2)远程连接相关参数配置

4.docker配置rabbitmq
# 安装命令 docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management #设置开机随docker启动 docker update rabbitmq --restart=always #端口解释 4369, 25672 (Erlang发现&集群端口) 5672, 5671 (AMQP端口) 15672 (web管理后台端口) 61613, 61614 (STOMP协议端口) 1883, 8883 (MQTT协议端口) #浏览器输入,虚拟机地址:15672,即为rabbitmq的管理界面 #账号和密码均为guest
5.docker常见命令
#1、docker设置容器开机自启动 docker update 容器名称 --restart=always #2、查看正在运行的容器 docker ps #3、查看所有安装的容器 docker ps -a #4、运行/停止/删除容器 docker start/stop/rm 容器名称/容器id #5、查看所有安装的镜像 docker images #6、删除镜像 docker rmi 镜像名称
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/50c7ae10ad.html
