入门篇6:docker常规安装简介

86 阅读2分钟

总体步骤

  • 搜索镜像
  • 拉取镜像
  • 查看镜像
  • 启动镜像
    • 服务端口映射
  • 停止容器
  • 移除容器

安装mysql

  1. 在docker hub上查询mysql
docker search mysql
  1. 拉取mysql5.7版本镜像
docker pull mysql:5.7
  1. 创建容器,映射到本地3309端口,因为本地有mysql,3306被占
docker run -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

image.png

进行一些简单的操作 image.png

外部连接: image.png

删除容器后,mysql的数据怎么办

先停止并删除刚建的容器,kill+rm

docker run -d -p 3309:3306 --privileged=true -v /docker/mysql/log:/var/log/mysql -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456  --name mysql mysql:5.7 

image.png 通过容器卷将字符问题解决方法同步给mysql容器(默认不支持中文)

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

登录不进去在 mysqld里加一条 skip-grant-tables

这次再试试把当前容器删除重新来一次,数据还存在吗?

安装redis

拉取对应版本

docker pull redis:6.0.8

进入容器,由于本机有redis,端口映射到6378

docker run -d -p 6378:6379 redis:6.0.8

登录客户端

redis-cli

持久化

创建一个目录,将redis.conf文件复制进来(如果你没安装过redis可跳过安装redis这章) image.png

切记!你的redis.conf文件的版本要和docker pull redis的版本一致!

修改redis.conf:

  • requirepass注释掉
  • bind 127.0.0.1 注释掉
  • daemonize 设为no
  • appendonly 设为yes

创建容器

docker run -p 6378:6379 -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf --privileged=true

我们先创建了一个redis的容器并进入,set了一个k-v对,张三-20。然后退出容器并删除它。利用一样的配置重新run了一个redis容器并进入,get能获取张三对应的value image.png