拉取镜像

输入命令

docker pull redis
运行镜像
docker run -d -p 6379:6379 --name myredis redis
查看容器
docker ps
root@ubuntu:~# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
d49195a82aa5        redis               "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:6379->6379/tcp   myredis
测试:进入Redis终端
root@ubuntu:/home/yandongfa# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
2a07236120b1        redis               "docker-entrypoint.s…"   11 seconds ago      Up 4 seconds        0.0.0.0:6379->6379/tcp   myredis
root@ubuntu:/home/yandongfa# docker exec -it 2a07236120b1 redis-cli
127.0.0.1:6379> set msg "123"
OK
127.0.0.1:6379> get msg
"123"
127.0.0.1:6379> 

该命令即可进入终端:docker exec -it 2a07236120b1 redis-cli
提示:如果中途关闭了Linux操作系统,下次打开再运行Redis时可能会报如下错误
docker: Error response from daemon: Conflict. The container name "/myredis" is already in use by container "d49195a82aa5467a7114067e0e7fa7e74dea85b8e744dfe43af7035e9ef1f1b0". You have to remove (or rename) that container to be able to reuse that name.
解决方式

查看之前运行docker容器是否还没有退出,导致出现容器重名情况,报错。

docker ps -a
root@ubuntu:/home/yandongfa# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                                                                                        NAMES
4a35f36ce654        38e57f281891        "docker-entrypoint.s…"   3 weeks ago         Exited (255) 13 days ago   4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp   myrabbmitq
d49195a82aa5        redis               "docker-entrypoint.s…"   3 weeks ago         Exited (255) 13 days ago   0.0.0.0:6379->6379/tcp                                                                       myredis
4a36731987fd        tomcat              "catalina.sh run"        3 weeks ago         Exited (143) 3 weeks ago                                                                                                vibrant_bouman
root@ubuntu:/home/yandongfa# docker rm d49195a82aa5

使用命令删除容器

docker rm d49195a82aa5

再次启动即可

docker run -d -p 6379:6379 --name myredis redis

启动如果出现如下错误:

Docker容器做端口映射报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.

解决方式:

docker服务启动时定义的自定义链DOCKER被清除
重启即可

systemctl restart docker
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐