1.启动 Docker for Windows
2.CMD Docker命令
> docker imags # 查看本地镜像 docker image ls --all
> docker rmi REPOSITORY:TAG # 删除本地镜像
> docker search redis # 搜索 redis 镜像
> docker pull redis:latest # 拉取redis 最新版本(latest)
>docker run -itd --name redis-0608 -p 7379:6379 redis # 运行 redis容器,映射容器服务的6379端口到宿主机7379端口。外部可以通过宿主机IP:7379 访问Redis的服务
> docker ps # 查看容器的运行信息
------------------------- 20200608 Docker + Redis -------------------------
Redis 订阅与发布
> publish topic1 msg # 发布消息(msg)到频道(topic)
> pubsub channels # 查看频道列表
> subscribe topic1 [topic2 ...] # 订阅一个或多个频道
> unsubscribe [topic1 ...] # 退订一个或多个频道
> psubscribe [pattern ...] # 订阅一个或多个符合模式匹配的频道
> punsubscribe [pattern ...] # 退订一个或多个符合模式匹配的频道
2.Docker 命令
--> docker run ubuntu:15.10 /bin/echo "Hello world, test"
--> Hello world, test
ps: docker: Docker 的二进制执行文件;run:与前面的 docker 组合来运行一个容器;Ubuntu:15.10 指定要运行的镜像, Docker 首先在本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像; /bin/echo "Hello world, test":在启动的容器里执行的命令。
# 启动容器(后台模式)
--> docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" #创建一个以进程方式运行的容器,返回容器ID(字符串)
ps: -d: 让容器在后台运行;
#查看容器在运行, 容器ID、名称(自动分配名称)
-->docker ps [-l]
PS: 查看最后一次创建的容器。
# 查看 统计数据
--> docker stats [-a]
PS: 统计所有创建的容器的信息。-a 默认只显示正在运行的容器。移除后就没有了。
#查看容器内的标准输出
--> docker logs [-f] [容器ID 或者 名称]
ps: -f : 让 docker logs 像使用 tail -f 一样来输出容器内部的
标准输出 (可以看到应用程序使用的端口,已经应用程序的访问日志)
# 停止容器
--> docker stop [容器ID 或者 名称]
# 重启 WEB 应用容器
--> docker start [容器ID 或者 名称]
--> docker restart [容器ID 或者 名称] # 重启正在运行的容器
# 移除 WEB 应用容器 ** 删除容器时,容器必须是停止状态,否则会报错 **
--> docker rm [容器ID 或者 名称]
**** 运行一个 web 应用 ****
# 载入镜像(获取镜像)
--> docker pull training/webapp
--> docker run -d -P training/webapp python app.py
ps: -d:让容器在后台运行;-P:将容器内部使用的网络接口映射到我们使用的主机上。
# 创建一个后台运行的容器,主机端口为 4000,Docker 端口为 5000
--> docker run -d -p 4000:5000 training/webapp python app.py
ps: -p 绑定指定的端口(主机端口 : Docker 端口)。在 浏览器访问localhost:4000。 Hello world!
# 查看容器端口的映射情况
--> docker port [container_ID | Name]
# 检查 web 应用程序
--> docker inspect [container_ID | Name]
PS: 查看 Docker 底层信息。返回一个 JSON 文件记录 Docker 容器的配置和状态信息。
# 连接一个在运行的容器
--> docker exec -it [container_id] /bin/bash
**** 镜像(image) ****
# 列出本地主机上的镜像
--> docker images
PS: REPSITORY:表示镜像的仓库源;
TAG:镜像的标签(同一个仓库源可以有多个 TAG,代表不同的版本);
IMAGE_ID:镜像ID;
CREATED:镜像创建时间;SIZE:镜像大小。
--> docker search httpd
# 构建镜像
--> docker build -t
# 重启 Docker
-- service docker restart
1、docker 根据容器创建镜像
格式:docker commit -m '镜像描述' -a '制作者' 容器名 镜像名[:version]
> docker commit -m"centos:7.4 with EOSIO" -a"peter" centos_eos eos_centos:7.4
ps: 镜像名需要小写, -m -a 参数值用双引号
2、centOS 查看版本
> rpm -q centos-release # centos-release-7-4.1708.el7.centos.x86_64
docker run \
--name myNginx \
-d -p 80:80 \
-v /usr/docker/myNginx/html:/usr/share/nginx/html \
-v /etc/docker/myNginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /etc/docker/myNginx/conf.d:/etc/nginx/conf.d \
nginx
# 挂载 nginx.conf、页面
docker run \
--name myNginx \
-d -p 80:80 \
-v /etc/docker/myNginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/docker/myNginx/html:/usr/share/nginx/html \
nginx
![](https://i-blog.csdnimg.cn/blog_migrate/5e79d725304183e39884f54c5de09eb7.png)