一、查找镜像
按名称搜索图像
docker search redis
按名称搜索并显示非截断描述(--no-trunc)
docker search --stars=3 --no-trunc redis
按名称redis搜索出星数至少为3颗星的镜像
docker search --filter stars=3 redis
显示名称中包含“redis”的图像,并且是自动构建
docker search --filter is-automated redis
显示的图像名称包含“redis”,至少3颗星,并且是官方版本
$ docker search --filter "is-official=true" --filter "stars=3" redis
格式化选项(--format)使用Go模板漂亮地打印搜索输出。
-
1.使用不带标头的模板,Name并StarCount为所有图像输出 以冒号分隔的条目和条目:
-
docker search --format "{{.Name}}:{{.StarCount}}" redis
-
2.输出表格格式:
-
docker search --format "table {{.Name}}\t{{.IsAutomated}}\t{{.IsOfficial}}" redis
二、拉取镜像
不指定版本,则拉取最新版本的镜像
docker pull redis
指定版本
docker pull redis:5.0.5
查看拉取成功的镜像
docker images
启动镜像及参数说明
#1.配置在/data/docker/redis 文件夹下创建redis.conf(没有/data/docker/redis文件自己创建)
port 6379 //开启端口6379
bind * //docker内部绑定容器需要使用*号 //不能使用127 127 是相对于母机的如果跨docker没用 docker内部指向不一样
daemonize no
pidfile /data/redis/redis.pid
appendonly yes
#2.运行如下代码
docker run -p 6379:6379 --name redis \
-v /data/docker/redis/data:/data \
-v /data/docker/redis/redis.conf:/etc/redis/redis.conf \
-d redis:5.0.5 \
redis-server /etc/redis/redis.conf \
--requirepass "123456" \
--appendonly yes
-
参数说明:
-
#本地运行
-
-d
-
#本地端口:Docker端口
-
6379:6379
-
#指定驱动盘
-
-v
-
#Redis的持久化文件存储
-
$PWD/data
-
#docker的镜像名
-
redis
-
#redis服务器
-
redis-server
-
#开启持久化
-
--appendonly yes
-
#这个运行的镜像的名称
-
--name
-
#守护进程
-
daemonize yes
-
#Docker启动容器就启动
-
--restart=always
停止正在运行的镜像(redis为前面设置的镜像名称)
docker stop redis
删除镜像
docker rm redis
重启镜像
docker start redis
获取 container ID 或者名字
docker container ls -a
如果你要删除的 container 还是运行状态,那么就要先把容器停止了:
docker container stop CONTAINER_ID
删除指定的container
-
docker container rm CONTAINER_ID 或者 docker container rm CONTAINER_NAME (这两
-
条命令都是删除同一个容器)
批量获取容器ID
docker container ls -a -q
批量获取镜像ID
docker image ls -a -q
批量停止容器
docker container stop $(docker container ls -a -q)
批量删除容器
docker container rm $(docker container ls -a -q)
通过image的id来指定删除镜像
docker rmi <image id>
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部images
docker rmi $(docker images -q)
访问容器
docker exec -it redis bash
使用redis-cli访问容器内redis
docker exec -it redis redis-cli
三、用密码登录的条件:
1.window环境
redis.windows.conf,redis.windows-service.conf 两件件的requirepass中的密码相同且同时设置
#
requirepass xxxxxx
# Command renaming.
2.centos redis
bind 0.0.0.0 修改为这个port 6379 这个为redis端口#修改这个为yes,以守护进程的方式运行,就是关闭了远程连接窗口,redis依然运行 daemonize yes#将protected-mode模式修改为no protected-mode no#设置需要密码才能访问,password修改为你自己的密码 requirepass password
四、远程连接不上redis
1.查看redis.conf
docker exec -it my-redis cat /etc/redis/redis.conf
2.改端口
docker exec -it redis sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /etc/redis/redis.conf
3.重启生效
docker restart redis
4.看监听端口
docker exec -it redis netstat -tnl