之前就觉得docker 是个很吊的东西,也在电脑上装了docker,但是一直都比较忙,所以也忘了,最近突然想起就重新开始试玩了一下。
镜像
由于国外镜像太慢,所以后来找了一个国内镜像,在daocloud.io上注册并且获取地址配置在软件中。搭建mongodb服务器
- 查看版本信息
C:\Users\sam>docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 60ccb22
Built: Thu Feb 23 10:40:59 2017
OS/Arch: windows/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: true
```
- 拉取镜像
此处拉取mongodb,因为正需要一个mongodb作为爬虫项目所用。
````shell
C:\Users\sam>docker pull daocloud.io/mongo
```
- 查看当前镜像资源
```shell
C:\Users\sam>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
daocloud.io/centos latest 98d35105a391 2 weeks ago 193 MB
daocloud.io/mongo latest 686238c7a975 4 weeks ago 402 MB
```
总共拉取了 centos系统镜像跟mongo镜像,IMAGE ID 为docker为每个镜像资源的标识。
- 运行一个镜像
```shell
C:\Users\sam>docker run -p 27017:27017 -d mongo:latest
```
启动mongo最新版容器,并且把将容器的27017端口映射到宿主的27017端口,
由于使用的是windows版,所以如果要把端口暴露在局域网还得
```shell
C:\Users\sam>netsh interface portproxy add v4tov4 listenport=27017 listenaddress=192.168.1.236 connectport=27017 connectaddress=192.168.40.1
```
这样一个基于docker的mongodb服务器就搭建完成了。
3. docker常用命令
- 基础管理
```shell
docker build 通过dockerfile生成镜像
docker images 查看当前本地有哪些docker镜像
docker run 通过docker镜像生成docker容器(docker help run 查看run命令)
docker ps 查看正在up运行中的docker镜像,docker ps -a 查看所有的
docker exec 进入容器
docker rm 删除容器,-f 强制删除,up状态的也可以删除
docker stop 停止提一个容器
docker start 启动一个容器
docker tag 给镜像打标签(docker tag imageid name:tag)
docker rmi <image id> 删除images,通过image的id来指定删除谁
```
- 命令大全
```shell
docker --help 查看帮助
```
4. 参考资料
[菜鸟教程]( http://www.runoob.com/docker/docker-command-manual.html "菜鸟教程")