一、安装docker(镜像官网: https://hub.docker.com/)
1、检查内核版本,必须是3.10及以上
uname ‐r
2、安装docker前需要检查linux是否可用外网,然后需要把yum更新到最新版本:yum update,还要执行
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、执行 sudo yum install docker-ce 安装docker,输入y确认安装
4、启动docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker ‐v
Docker version 1.12.6, build 3e8e77d/1.12.6
5、设置开机启动docker
[root@localhost ~]# systemctl enable docker
6、停止docker
systemctl stop docker
7、查看仓库中docker版本
yum list docker-ce --showduplicates | sort -r
8、查询安装过的包
yum list installed | grep docker
9、删除安装的软件包
yum -y remove docker.x86_64
yum -y remove docker-client.x86_64
yum -y remove docker-common.x86_64
二、镜像操作
1、拉取 redis
docker pull redis
2、下载 redis 的配置文件,可以在 http://download.redis.io/redis-stable/redis.conf 上下载
3、修改配置文件的内容
把 bind 127.0.0.1 -::1 注释掉 #bind 127.0.0.1 -::1
把 protected-mode yes 修改成 protected-mode no
因为yes意为以守护进程方式启动,yes会使配置文件方式启动redis失败(一开启就退出)
把 requirepass foobared 注释掉 #requirepass foobared
3、创建文件夹
使用 mkdir /usr/local/docker/redis 创建存放redis配置文件的目录
使用 mkdir /usr/local/docker/redis/data 创建存放redis数据的目录
使用 mkdir /etc/redis 创建存放redis配置文件的目录
最后把redis的配置文件放到这个/usr/local/docker/redis目录和/etc/redis中
4、运行镜像
docker run -p 6379:6379 --name redis -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/etc/redis/data -d redis redis-server /etc/redis/redis.conf
-d 以守护线程的方式运行(后台运行)
-i 以交互模式运行容器
-t 为容器重新分配一个伪输入终端
-p 映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。
//未加-it可能会运行不起来因为,Docker容器后台运行,就必须有一个前台进程,容器运行的命令不是那些一直挂起的命令(比如运行top,tail),会自动退出
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf //把宿主机配置好的redis.conf挂载到容器内的指定位置
-v /usr/local/docker/redis/data:/etc/redis/data //把redis持久化的数据挂载到宿主机内,做数据备份
redis-server /etc/redis/redis.conf //使redis按照redis.conf的配置启动
–appendonly yes //redis启动后数据持久化
进入到docker中的redis docker exec -it redis redis-cli
三、容器的基本操作
- 查看运行中的容器 docker ps
- 查看所有的容器 docker ps -a
- 进入容器 docker exec -it 容器ID /bin/bash
- 停止所有的容器 docker stop $(docker ps -q)
- 删除所有的容器 docker rm $(docker ps -aq)
- 停止并删除全部 docker stop $(docker ps -q) & docker rm $(docker ps -aq)
效果图: