Docker 安装 MySQL

MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。

1、查看可用的 MySQL 版本

2、拉取mysql镜像

[root@localhost ~]# docker pull mysql:8.0.22

8.0.22: Pulling from library/mysql

Digest: sha256:78800e6d3f1b230e35275145e657b82c3fb02a27b2d8e76aac2f5e90c1c30873

Status: Downloaded newer image for mysql:8.0.22

docker.io/library/mysql:8.0.22

[root@localhost ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

mysql 8.0.22 a347a5928046 6 days ago 545MB

mysql latest a347a5928046 6 days ago 545MB

3、运行mysql容器

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

这种方式启动容器,一旦容器删除数据会丢失,所以正常都会将数据挂载在主机的目录下。

docker run \

--restart=always \

-p 3306:3306 --name mysql \

-v /usr/local/docker/mysql/conf:/etc/mysql/conf.d \

-v /usr/local/docker/mysql/logs:/var/log/mysql \

-v /usr/local/docker/mysql/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

-d mysql:8.0.22

命令参数:

--restart=always: 当Docker 重启时,容器会自动启动

-p 3306:3306:将容器的3306端口映射到主机的3306端口

--name mysql:-> 指定容器名称

-v /usr/local/docker/mysql/conf:/etc/mysql:将主机当前目录下的 conf 挂载到容器的 /etc/mysql

-v /usr/local/docker/mysql/logs:/var/log/mysql:将主机当前目录下的 logs 目录挂载到容器的 /var/log/mysql

-v /usr/local/docker/mysql/data:/var/lib/mysql:将主机当前目录下的 data 目录挂载到容器的 /var/lib/mysql

-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

-d:以守护进程的方式启动容器

查看容器启动情况

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

73cde0728e20 mysql "docker-entrypoint.s…" 11 minutes ago Up 11 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql

[root@localhost ~]#

4、进入容器

docker exec -it mysql bash

5、登录mysql

mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

6、添加远程登录用户

CREATE USER 'bigfairy'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

GRANT ALL PRIVILEGES ON *.* TO 'bigfairy'@'%';

7、远程客户端连接mysql

这里使用Navicat连接mysql如下:

Docker安装Redis

1、查看可用的 Redis 版本

2、拉取redis镜像

[root@localhost ~]# docker pull redis:rc-alpine3.12

rc-alpine3.12: Pulling from library/redis

801bfaa63ef2: Pull complete

9a8d0188e481: Pull complete

8a3f5c4e0176: Pull complete

d9af23bab33d: Pull complete

1e24b8f34bba: Pull complete

a0d216621fb7: Pull complete

Digest: sha256:d8d47eea291a1e41025a86678a2a57e7fb2c44ec6513f61eb1c8a3feee1ee564

Status: Downloaded newer image for redis:rc-alpine3.12

docker.io/library/redis:rc-alpine3.12

[root@localhost ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

mysql 8.0.22 a347a5928046 7 days ago 545MB

redis rc-alpine3.12 5bca63d382f8 11 days ago 32.3MB

ubuntu latest f643c72bc252 4 weeks ago 72.9MB

3、redis.conf文件配置

修改下载的默认配置文件

bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问

protected-mode no #默认yes,开启保护模式,限制为本地访问

daemonize no #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败

requirepass 你的密码 #给redis设置密码(可选)

dir ./ #输入本地redis数据库存放文件夹(可选)

appendonly yes #redis持久化(可选)

操作步骤如下

[root@localhost docker]# mkdir -p /usr/local/docker/redis/

[root@localhost docker]# cd /usr/local/docker/redis/

[root@localhost redis]# wget http://download.redis.io/redis-stable/redis.conf

--2020-12-29 14:44:27-- http://download.redis.io/redis-stable/redis.conf

Resolving download.redis.io (download.redis.io)... 45.60.125.1

Connecting to download.redis.io (download.redis.io)|45.60.125.1|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 84841 (83K) [application/octet-stream]

Saving to: ‘redis.conf’

100%[======================================================================================================================================>] 84,841 175KB/s in 0.5s

2020-12-29 14:44:28 (175 KB/s) - ‘redis.conf’ saved [84841/84841]

[root@localhost redis]# ls

redis.conf

[root@localhost redis]# vim redis.conf

4、docker启动redis

docker run \

--restart=always \

-p 6379:6379 \

--name redis \

-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf \

-v /usr/local/docker/redis/data:/data \

-d redis:rc-alpine3.12 redis-server /etc/redis/redis.conf \

--appendonly yes

命令解释说明:

--restart=always: 当Docker 重启时,容器会自动启动

-p 6379:6379: 把容器内的6379端口(后面的端口)映射到宿主机6379端口(前面的端口)

--name redis: 指定容器名称

-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf:将主机目录下的 redis.conf目录挂载到容器的/etc/redis/redis.conf

-v /usr/local/docker/redis/data:/data:将主机目录下的data目录挂载到容器的data目录下

-d redis:rc-alpine3.12 :表示后台启动redis

**redis-server /etc/redis/redis.conf **:以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf

appendonly yes: 开启redis 持久化

5、查看是否启动成功

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

04ec4e8bed2a redis:rc-alpine3.12 "docker-entrypoint.s…" 14 minutes ago Up 7 minutes 0.0.0.0:6379->6379/tcp redis

Docker常用命令

# 查看容器运行日志

docker logs 容器名称/容器id

docker镜像

# 列出镜像

docker images

docker image ls

# 拉取镜像

docker pull 镜像名称

# 运行镜像

docker run -it --rm \

ubuntu:16.04 \

bash

# 删除镜像

docker image rm 镜像名称

docker image rm $(docker image ls -q 镜像名称)

docker rmi 镜像名称

docker容器,[]的内容可以省略

# 启动容器

docker [container] run -itd --rm ubuntu /bin/bash

# 停止容器

docker [container] stop

# 启动容器

docker [container] start

# 重启容器

docker [container] restart

# 查看所有容器

docker [container] ps -a

# 查看当前正在运行的容器

docker [container] ps

# 进入容器

docker [container] exec -it /bin/bash

# 删除容器

docker [container] rm

# 清理掉所有处于终止状态的容器

docker container prune

docker仓库

# 登录

docker login

# 退出

docker logout

# 搜索

docker search 镜像名

# 拉取镜像

docker pull 镜像名

# 标记镜像

docker tag 镜像名:标签 仓库ip:仓库端口/标记名称:标记标签

# 推送镜像

docker push 标记名称:标记标签

docker数据卷

# 查看所有的数据卷

docker volume ls

# 创建数据卷

docker volume create test-volume1

# 查看指定数据卷详情信息

docker volume inspect test-volume1

# 删除数据卷

docker volume rm test-volume3

# 删除没有容器挂载的数据卷

docker volume prune

docker运行yyets_docker实战相关推荐

  1. docker运行yyets_docker 安装 运行 卸载

    一.卸载docker 安装时使用什么工具安装的docker就用什么工具卸载docker: 1.yum卸载docker 查看已安装的docker yum list installed | grep do ...

  2. docker运行yyets_docker 使用教程1

    本系列会做一个完整的Docker使用教程 上一篇:docker的安装.卸载.运行:https://www.cnblogs.com/easyidea/p/14210376.html 1.概念理解 镜像: ...

  3. docker运行yyets_Docker 镜像配置,看这一篇足矣。

    这是无量测试之道的第171篇原创 镜像:是一个只读的Docker 容器模板,包含启动容器所需要的所有文件系统结构和内容. 简单来讲,镜像是一个特殊的文件系统,它提供了与容器运行时所需的程序,软件库.资 ...

  4. docker运行yyets_docker常用命令

    镜像导出 docker save -o web.tar web 镜像导入 docker load -i web.tar 查看所有镜像 docker images 删除镜像 docker image r ...

  5. docker运行yyets_Docker配置

    Docker 版本 – 社区版 – 企业版 • 与 Kubernetes 集成(在Linux版本号很重要呢!) – 社区版 17.03.2 ce • CentOS(虚拟机)安装 docker – 官方 ...

  6. docker运行yyets_docker: 存放各种docker image构建脚本或者快速启动的docker-compose文件。一处构建,处处可用,方便健忘人士和减轻国内开发人员的负担。...

    说明 存放各种docker image构建脚本或者快速启动的docker-compose文件. 实现:一处构建,处处可用,方便健忘人士和减轻国内开发人员的负担. 最后,我会在有空的时候尽量完善各个镜像 ...

  7. docker运行yyets_docker常用命令汇总

    docker常用命令汇总,容器,镜像,内核,版本,端口 docker常用命令汇总 易采站长站,站长之家为您整理了docker常用命令汇总的相关内容. docker安装 1.要求:linux内核在3.1 ...

  8. docker运行yyets_docker常规操作——启动、停止、重启容器实例

    一.启动一个已经停止的容器实例 docker start 容器ID或容器名,建议使用容器ID,容器ID支持模糊查询而容器名称不支持 1. 先查看已经暂停的容器实例信息 2. 通过docker star ...

  9. docker运行yyets_docker 后台运行和进入后台运行的容器

    先创建并进入一个新的被命名为newos的新容器    docker run -it --name newos docker.io/centos #创建并指定端口号映射docker run -d -p ...

最新文章

  1. 最低售价17999元,华为发布新一代折叠屏手机Mate X2,将首批升级HarmonyOS
  2. oracle竖行的两列变成横行_oracle数据竖列转横向显示问题!
  3. 【微信小程序企业级开发教程】事件相关详解
  4. Boost:Boost概念的function_requires()的测试程序
  5. Java堆转储:您可以完成任务吗?
  6. 信息学奥赛一本通 1023:Hello,World!的大小 | OpenJudge NOI 1.2 10
  7. 特征工程系列之降维:用PCA压缩数据
  8. mongodb4简明笔记
  9. BAT 七年经验,却抵不过外企面试的两道算法题?
  10. java mysql insert id_MySQL和Java-获取最后插入值的ID(JDBC)[重复]
  11. java单线程任务调度_一文详解Spring任务执行和调度(小结)
  12. 「深度」详解Uber自动驾驶汽车传感器系统,什么样的配置才能避免撞人事件!...
  13. 华为鸿蒙os logo,华为鸿蒙OS Logo揭秘:Powered by HarmonyOS
  14. android外设键盘按键映射表
  15. 安全管理实务之四:口令管理(转)
  16. angular自定义指令 directive
  17. python库包的安装方法_python包,库安装的6个方法
  18. Kafka入门篇学习笔记整理
  19. nixyx —— 一个小巧的项目工程/编译文件生成器(构建系统?)
  20. Unity 修改场景中人型骨骼模型的骨骼旋转角度

热门文章

  1. 实现语音对讲_#对讲天地# 联想|对讲天地,感恩有你
  2. 2020Y学习归纳成长56
  3. pojo、entity、vo三种类的区别
  4. 扎心话题 | 设计院背后的潜规则你知道吗?
  5. 计算机基础元旦专刊,01《计算机应用基础》题库(一).doc
  6. 关于WiMAX的一些简单介绍
  7. 英语发音之音标1---掐头法(a和其他6个辅音字母总共7个字母发音)
  8. 联想计算机删除隐藏分区,联想隐藏分区删除工具
  9. 终于看到Scroll Lock键的用途了
  10. java cloneable 接口_Cloneable 接口 记号接口(标记接口)