docker相关命令02
Docker commit 命令
docker commit :从容器创建一个新的镜像。
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停;
实例
将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1 sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057 runoob@runoob:~$ docker images mymysql:v1 REPOSITORY TAG IMAGE ID CREATED SIZE mymysql v1 37af1236adef 15 seconds ago 329 MB
Docker安装运行Redis
Mac环境
查询镜像:
zhoumatoMBP:~ zhou$ docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store that… 5578 [OK] bitnami/redis Bitnami Redis Docker Image 87 [OK] sameersbn/redis 71 [OK] hypriot/rpi-redis Raspberry Pi compatible redis image 31 kubeguide/redis-master redis-master with "Hello World!" 25
拉取官方的镜像,(这个示例中,官方镜像也是stars最多的):
zhoumatoMBP:~ zhou$ docker pull redis Using default tag: latest latest: Pulling from library/redis be8881be8156: Pull complete d6f5ea773ca3: Pull complete 735cc65c0db4: Pull complete 787dddf99946: Pull complete 0733799a7c0a: Pull complete 6d250f04811a: Pull complete Digest: sha256:858b1677143e9f8455821881115e276f6177221de1c663d0abef9b2fda02d065 Status: Downloaded newer image for redis:latest zhoumatoMBP:~ zhou$ /Users/zhou/Library/Containers/com.docker.docker/Data/ -bash: /Users/zhou/Library/Containers/com.docker.docker/Data/: is a directory zhoumatoMBP:~ zhou$ ls /Users/zhou/Library/Containers/com.docker.docker/Data/ backend.sock tasks vpnkit.pcap.sock docker.sock vms vpnkit.port.sock osxfs.sock vpnkit.diag.sock task.lock vpnkit.eth.sock
查看一下是否成功:
zhoumatoMBP:~ zhou$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE redis latest 4e8db158f18d 8 days ago 83.4MB zhoumatoMBP:~ zhou$ docker images redis REPOSITORY TAG IMAGE ID CREATED SIZE redis latest 4e8db158f18d 8 days ago 83.4MB
启动镜像:
zhoumatoMacBook-Pro:~ zhou$ docker run -p 6379:6379 -d redis:latest redis-server 30e18792709c1e70ec93007731c80062e603ad01e06795d23d4bc6d4c8cdf3ea
ps:
菜鸟教程: docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes 命令说明: -p 6379:6379 : 将容器的6379端口映射到主机的6379端口 -v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
查看容器启动情况:
zhoumatoMBP:~ zhou$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d0b86da2f6b9 redis "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:6379->6379/tcp thirsty_lichterman
连接redis的几种方式:
docker exec -ti d0b86 redis-cli docker exec -ti d0b86 redis-cli -h localhost -p 6379 docker exec -ti d0b86 redis-cli -h 127.0.0.1 -p 6379 docker exec -ti d0b86 redis-cli -h 172.17.0.3 -p 6379 // 注意,这个是容器运行的ip,可通过 docker inspect redis_s | grep IPAddress 查看
查看容器的ip:
zhoumatoMacBook-Pro:~ zhou$ docker inspect redis_s | grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.3", "IPAddress": "172.17.0.3",
======================================================
使用redis镜像执行redis-cli命令连接到刚启动的容器,主机IP为172.17.0.1
zhoumatoMacBook-Pro:~ zhou$ docker exec -it redis_s redis-cli 127.0.0.1:6379>
如果连接远程:
zhoumatoMacBook-Pro:~ zhou$ docker exec -it redis_s redis-cli -h 192.168.1.100 -p 6379 -a your_password //如果有密码 使用 -a参数 192.168.1.100:6379>