【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 镜像名称
相关推荐
一路向北North39 分钟前
Java使用replaceAll替换时不使用正则表达式
java·开发语言·正则表达式
yangfeipancc40 分钟前
正则表达式
java·开发语言·正则表达式
jay丿1 小时前
正则表达式
服务器·mysql·算法·正则表达式·php
Duck Bro2 小时前
MySQL:常用数据类型
java·数据库·c++·mysql·java-ee
淘淘 小窝2 小时前
springboot配置多数据源mysql+TDengine保姆级教程
spring boot·mysql·tdengine
double丶flower2 小时前
设置Mysql5.6允许外网访问
java·mysql
开敲2 小时前
【MySQL】MySQL数据库基础
数据库·mysql
jlting1952 小时前
读取mysql、kafka数据筛选后放入mysql
大数据·sql·mysql·flink·kafka·database
Cosmoshhhyyy3 小时前
Jackson库中JsonInclude的使用
java·开发语言
007php0073 小时前
GoZero对接GPT接口的设计与实现:问题分析与解决
java·开发语言·python·gpt·golang·github·企业微信