在上一随笔中主要就是记录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. FreeSWITCH 加载模块过程解读

    今天来学习FreeSWITCH 加载模块过程. 哪些模块需要编译,是由源码下的 modules.conf 文件决定的. 哪些模块在程序启动时自动加载,是由 freeswitch/conf/autolo ...

  2. ios中时间倒计时

    博客地址 https://github.com/sundayios/SQCountTimeDown.git

  3. PAT T1001 Battle Over Cities-Hard Version

    按题意枚举每个点,建立缺少该点情况下的最小生成树,取权值最大的~ #include<bits/stdc++.h> using namespace std; ; const int inf= ...

  4. 14 JavaScript Window对象

    Window对象表示一个浏览器窗口或者一个框架. 在客户端JavaScript中,window对象是全局对象,所有的表达式都在当前的环境中计算. Window对象的子对象: JavaScript do ...

  5. mysql 统计索引执行情况

    select distinct b.TABLE_SCHEMA,b.TABLE_NAME , b.INDEX_NAME , a.count_starfrom performance_schema.tab ...

  6. Educational Codeforces Round 73 (Rated for Div. 2)D(DP,思维)

    #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;long long a[300007],b[3 ...

  7. vue + element ui table表格二次封装 常用功能

    因为在做后台管理项目的时候用到了大量的表格, 且功能大多相同,因此封装了一些常用的功能, 方便多次复用. 组件封装代码: <template> <el-table :data=&qu ...

  8. ORACLE varchar2类型的字段更改为clob

    将varchar2类型字段改成clob类型    --增加临时新字段 alter table base_temp add temp clob; --将需要改成大字段的项内容copy到大字段中updat ...

  9. Celeste 机制研究

    0. 简介.惯例.总论 Celeste (塞莱斯特) 是一个具有优秀手感的平台跳跃游戏. 虽然操作所使用的按键很少, 但是却有着复杂的组合机制. 在游戏实现上, Celeste 是一个锁定 60 帧 ...

  10. 使用C语言实现文件的操作

    #include <stdio.h> int main(int argc, char* argv[]) { // 创建文件类型 FILE* file; char buf[1024] = { ...