在上一随笔中主要就是记录docker的基本使用以及nginx与php服务器的配置:在这一章将主要记录docker安装mysql与redis。

本节随笔参考网址:https://www.runoob.com/docker/docker-install-redis.html

一。docker安装 mysql

1.1 搜索mysql

docker search mysql

1.2 拉取mysql

docker pull mysql:5.7

1.3 查看mysql镜像文件

docker images mysql

1.4 映射配置文件

1.4.1 随便运行一个mysql容器

# 全命令
docker run -d -P --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # 命令解析
docker run
  -d # 后台运行
  -P # 自动分配映射IP
  --name mysql # 重命名
  -e MYSQL_ROOT_PASSWORD=123456 # 初始化密码,用于登录mysql数据库
  mysql:5.7  # 所要运行的容器及版本

1.4.2 复制出mysql的配置文件和日志文件以及mysql的数据

首先在本地创建相应的文件夹,如下图:

复制文件到本地文件夹中

docker cp mysql:/var/log/mysql E:\docker\mysql\logs
docker cp mysql:/etc/mysql E:\docker\mysql\conf
docker cp mysql:/var/lib/mysql E:\docker\mysql\data

复制出来一般都是一个文件夹,我们需要将文件夹中的文件全部都复制出来,然后放到文件夹外面来,并且删除文件夹

1.4.4 强制删除容器

# 方式一:强制删除(可以将正在运行中的容器删除)
docker rm -f mysql # 方式二:先停止容器,再删除容器
docker stop mysql
docker rm mysql

1.5 运行mysql容器

# 全命令
docker run -d -v E:\docker\mysql\conf:/etc/mysql -v E:\docker\mysql\data:/var/lib/mysql -v E:\docker\mysql\logs:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 # 命令解析
docker run
  -d   # 后台运行
  -v E:\docker\mysql\conf:/etc/mysql   # 映射MySQL配置文件位置
  -v E:\docker\mysql\data:/var/lib/mysql # 映射MySQL数据存储文件位置
  -v E:\docker\mysql\logs:/var/log/mysql # 映射MySQL日志文件位置
  -p 3306:3306   # 映射文件端口号
  -e MYSQL_ROOT_PASSWORD=123456 # 初始化数据库密码
  --name mysql mysql:5.7  # 重命名 # 查看运行的容器
docker ps

1.6 本地连接测试

。docker安装 redis

2.1 搜索redis

docker search redis

2.2 拉取redis

docker pull redis:3.2

2.3 映射文件

2.3.1 创建临时redis容器

# 全命令
docker run -d -p 6379:6379 redis:3.2 redis-server --appendonly yes # 命令分析
docker run 
  -d # 后台运行
  -p 6379:6379  # 端口映射
  redis:3.2   # 运行容器及版本
  redis-server  # 在容器执行redis服务端启动命令
  --appendonly yes  # 打开redis持久化配置 

2.3.2 复制映射文件到本地

docker cp c673d3579d7b:/data E:\docker\redis\data

2.3.3 删除临时容器

docker rm -f redis

2.4 运行最终redis容器

docker run -d -p 6379:6379 -v E:\docker\redis\data:/data --name redis redis:3.2 redis-server --appendonly yes

docker run 
  -d   # 后台运行
  -p 6379:6379   # 端口映射
  -v E:\docker\redis\data:/data   # 文件映射
  --name redis redis:3.2     # 容器重命名
  redis-server --appendonly yes  # 在容器执行redis-server启动命令,并打开redis持久化配置

  

2.5 测试

docker exec -it de985131953b redis-cli

info

到此基本上所已经了解了 docker 的基本运用,常用的拉取镜像,根据镜像创建容器,运行容器,将容器中的配置文件映射到本地等这些都基本包含了,后面将不再记录docker拉取镜像。进一步记录docker的镜像导入导出,推送到阿里云服务,从阿里云服务器中拉取镜像。

Docker 学习之mysql与redis(二)的更多相关文章

  1. Docker Compose 启动mysql,redis,rabbitmq

    这里使用的centos7,首先切换到root. sudo -s 首先去设置下载镜像,否则下载这三个东西要很久,而且可能失败. vim /etc/docker/daemon.json 内容如下: { & ...

  2. docker学习笔记-05:Docker安装mysql和redis

    一.安装mysql 1.docker hub 上查找mysql镜像 docker search mysql 2.从docker hub (使用阿里云加速器)拉取mysql镜像到本地标签为5.6 doc ...

  3. 【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)

    系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...

  4. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  5. [转]Docker学习之四:使用docker安装mysql

    本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...

  6. Docker学习(二): 镜像的使用与构建

    特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...

  7. docker部署项目: centos+python+redis+mysql+uwsgi+nginx

    一.Centos7安装docker 1.1 环境配置 先测试是否下载了docker:查看镜像:docker images没有下载,就依次执行以下环境的安装 ①curl http://mirrors.a ...

  8. docker内的应用访问宿主机上的mysql和Redis

    背景:宿主机部署MySQL.Redis,docker内部署tomcat.jdk 需求:tomcat内的应用访问宿主机的MySQL和Redis 方法:     一.连接地址切记不能用localhost和 ...

  9. docker学习(5) 在mac中创建mysql docker容器

    github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...

随机推荐

  1. 「JSOI2014」支线剧情2

    「JSOI2014」支线剧情2 传送门 不难发现原图是一个以 \(1\) 为根的有根树,所以我们考虑树形 \(\text{DP}\). 设 \(f_i\) 表示暴力地走完以 \(i\) 为根的子树的最 ...

  2. 前端学习 之 JavaScript基础

    一. JavaScript简介 1. JavaScript的历史背景介绍 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时 ...

  3. leetcode刷题-- 4. 贪心

    贪心 455分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼 ...

  4. 5 JSON&与JavaScript转换&JavaScript:void(0)&JavaScript代码规范

    JSON:JavaScript Object Notation   JS对象简谱 一种轻量级的数据交换格式,用于存储和传输数据的格式,通常用于服务端向网页传递数据 是独立的语言,易于理解 JSON语法 ...

  5. 十 Spring的AOP的底层实现:JDK动态代理和Cglib动态代理

    SpringAOP底层的实现原理: JDK动态代理:只能对实现了接口的类产生代理.(实现接口默认JDK动态代理,底层自动切换) Cglib动态代理(类似Javassist第三方的代理技术):对没有实现 ...

  6. 无线渗透之ettercap

    无线渗透之ettercap ettercap命令查看 # ettercap -h Usage: ettercap [OPTIONS] [TARGET1] [TARGET2] TARGET is in ...

  7. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 显示代码:变量赋值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 列举出给定数量的字符的所有组成情况-java实现

    老早以前刚学程序的时候碰到了这么个问题,当时没想出来,今天突然想起来了这么个问题于是写了下,也算留个纪念吧 public static String itr; public static void m ...

  9. Java - 使用hibernate配置文件 + JPA annotation注解操作数据库

    本程序运行环境:IDEA. 实际上我对hiberbate与注解的关系还不是太清晰.据我所知注解都是Java JPA的,那么我的理解是:hibernate就应该只是通过这些JPA标识及hibernate ...

  10. apply()、call()、bind()

    在JavaScript中,call.apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向.apply和call方法.bind方法都是在特定的作用域中 ...