在Windows下开发,安装软件不像Linux那样方便,常常还没开始写代码,搭建环境就已经耗费了半天了。
这个时候使用Docker来快速搭建一套开发环境,比如MySQL、Redis、MongoDB等等,还是很方便的,能够节省大量开发前准备的工作,提高效率。
下面介绍能够基本满足这个需求的Docker的最基础使用。
1. 安装
首先到Docker官网(需要注册)下载Docker Community Edition for Windows
然后安装,安装成后,docker会自动启动,右下角会有个鲸鱼的图标
打开cmd或者powershell,执行
docker version
正常情况会输出docker的client和server的版本及其他信息
2. 配置镜像仓库地址
这一步不是必须的
由于网络原因从官方镜像仓库拉取太慢,所以配置国内镜像仓库地址
- 对右下角鲸鱼图标右键 – Setting – Deamons
- 在Registry mirrors中添加Docker中国官方镜像加速地址:
https://registry.docker-cn.com
- 点击Apply,Docker服务会重启,完成后就生效了
3. 使用
3.1 查询/拉取镜像
命令: docker search|pull image-name[:image-version]
以Elasticsearch为例:
# 查询镜像
docker search elasticsearch
# 拉取镜像
docker pull elasticsearch:2.4.6
如果不指定版本,则使用默认版本号release,拉取最新版本
3.2 运行容器
命令: docker run [OPTIONS] image-name[:image-version]
docker run 命令有很多参数,这里只介绍最多用到的几个,以elasticsearch为例:
docker run -d -p 9200:9200 --name es elasticsearch:2.4.6
-d:表示以deamon模式运行
-p:指定端口映射,前面的是外部访问端口,后面的是容器内部的端口
–name:指定容器的名称,不指定的话,docker会随机生成一个名称
3.3 查看容器列表
命令: docker ps [-a]
docker ps 会列出当前正在运行的容器
加上 -a
参数会列出所有的容器
3.4 启动/停止容器
命令: docker start|stop container-name|container-id
# 先停止es
docker stop es
# 再启动es
docker start es
3.5 操作容器
有时候需要对容器进行一些简单修改,可以通过docker exec命令来实现docker exec -i -t container-name|container-id command
例如给上面的es容器安装head插件:
docker exec -it es /bin/bash
# 执行命令后,会进入容器,并打开bash命令行
# 进入elasticsearch安装目录
$ cd /usr/share/elasticsearch
# 安装head插件
$ ./bin/plugin install mobz/elasticsearch-head
# 等待安装完成,退出容器
$ exit
# 重启容器
docker restart es
-i:以交互模式运行容器,通常与 -t
同时使用
-t:为容器重新分配一个伪终端,通常与 -i
同时使用
3.6 查看容器日志
命令:docker logs [-f] container-name|container-id
docker logs -f es
-f:相当于 tail -f
3.7 删除容器
命令: docker rm [-f] container-name|container-id
docker rm es
-f:如果容器正在运行,是无法直接删除的,要么先停止容器,要么加 -f
强制删除
注意: 删除容器是不可逆的,会导致容器中的数据丢失
最好的办法是通过挂载外部目录,把数据保存在宿主机器上
3.8 镜像管理
查看本地镜像列表: docker images
删除本地镜像: docker rmi iamge-name|image-id