查看镜像
docker images
没有话拉取镜像
# 此命令会拉取最新的
docker pull redis
# 如果需要指定版本可以使用如下命令
docker pull redis:4.0.8
创建存放redis文件夹用于存放redis
mkdir /usr/data/redis/data
使用redis镜像运行redis容器
# 命令说明:
# -p:宿主机端口与容器端口映射
# -v:挂载,将容器中的redis持久化数据挂载到宿主机,避免容器重启导致的数据丢失。
# --restart=always:无论什么情况挂壁,总是重启
# --name:容器名称
# -d:使用指定的镜像(redis的4.0.8版本的镜像)在后台运行容器
# --appendonly yes:redis运行时开启持久化
# --requirepass "your password":设置redis登陆密码
以这里的为例:
-v /opt/reids/redis_2/log/redis.log:/opt/redis.log
-v /opt/reids/redis_2/data:/opt/data
-v /opt/redis/redis_2/redis.conf:/opt/redis.conf
重要: 配置文件映射,docker镜像redis 默认无配置文件。
# 1
docker run --name redisNewName -p 00000:6379 --restart=always -v /usr/local/docker/redis/data/:/data -v /usr/local/docker/redis/redis.log:/redis.log -d redis redis-server --requirepass "your password"
如果容器已经创建但是没有加–restart=always
那如果docker容器停止以后,这个容器是不会重新启动的,这样会导致我们很多项目没有办法启动,此时就可以使用如下命令进行更新容器的启动命令
docker container update --restart=always 容器名字
除了上面的命令修改以外,我们也可以通过修改配置文件的方式来修改,具体操作如下:
# 首先停止容器,不然无法修改配置文件
cd /var/lib/docker/containers/容器ID
# 在该目录下找到一个文件 hostconfig.json
# 修改前配置:“RestartPolicy”:{“Name”:“no”,“MaximumRetryCount”:0}
# 修改后配置:“RestartPolicy”:{“Name”:“always”,“MaximumRetryCount”:0}
# 最后启动容器
进入容器复制文件
docker run -d -p 6379:6379 --name myRedis redis 暂时创建一个容器,如果已经创建了一个容器,则可以直接执行步骤五
docker exec -it myRedis 进入redis容器中
查看容器中redis.conf的位置
进入容器时报如下错误
"docker exec" requires at least 2 arguments.
See 'docker exec --help'.
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container`
# 解决方案如下:
docker exec -it 5de31a13f002 bash