docker安装MySQL、SQLServer、Redis和解决无法启动服务

安装Redis


    获取redis镜像

docker pull redis

    查看本地镜像

docker images

    先在服务器创建挂载的目录和配置文件

mkdir -p /mydata/redis/conf
[root@iZwz9hw4qywrrl4vj6o0j1Z ~]# cd /mydata/redis/conf/
[root@iZwz9hw4qywrrl4vj6o0j1Z conf]# touch redis.conf

    启动redis
docker run -p 6379:6379 --name redis -d redis
docker run -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

# 结果
[root@iZwz9hw4qywrrl4vj6o0j1Z conf]# docker run -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
004edb8a18e1f3f53702ef423834129cb060450046fc8452a833da244fa0a42b

    命令解释
        -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
        --name myredis 指定该容器名称,查看和进行操作都比较方便。
        -v 挂载目录,规则与端口映射相同。
        -d redis 表示后台启动redis
        redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
        appendonly yes 开启redis 持久化

    进入redis

[root@iZwz9hw4qywrrl4vj6o0j1Z conf]# docker exec -it redis redis-cli
127.0.0.1:6379> 

 

安装mysql5.7

docker pull mysql:5.7
docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci


-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \

参数说明:

    run run 是运行一个容器
    -d  表示后台运行
    -p  表示容器内部端口和服务器端口映射关联
    --privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
    -v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
    -v /docker/mysql/data:/var/lib/mysql  同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
    -e MYSQL_ROOT_PASSWORD=123456   设置MySQL数据库root用户的密码
    --name mysql     设值容器名称为mysql
    mysql:5.7  表示从docker镜像mysql:5.7中启动一个容器
    --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码

 

安装sqlserver2019

docker pull mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<cnbingnet123>" `
   -p 1433:1433 --name sql1 -h sql1 `
   -d mcr.microsoft.com/mssql/server:2019-latest

 

window下无法启动服务解决:

 执行  bcdedit /set hypervisorlaunchtype off    //无法启动执行 后打开docker