Docker是使用GO语言编写的应用容器引擎。
使用C/S架构,Host和Client分别运行在独立的进程中。
Docker的镜像是通过layer一层层组合出来的,在更新某些信息后,会添加新的层,不需要完全重新构建容器,只需要分发层就可以了。
docker volume . 文件容器,数据可以保存在这个容器里
docker images
查看当前有的镜像
docker search
查询镜像
docker pull
获取镜像
docker run
运行镜像
-t 获取一个伪终端
-i 交互方式运行
-d 后台运行
-v 挂载目录 【host目录】:[容器目录]
docker ps
当前运行镜像
-a 所有运行过为删除的镜像
docker rm 删除镜像实例
docker rmi 删除镜像
docker rm $(docker ps -a -q) //删除所有实例
docker rename [hashcode] [newName] 重命名
操作
- 查看容器内ip
docker inspect --format '{{ .NetworkSettings.IPAddress }}' [容器ID]
数据ip为该网段的网络地址 x.x.x.1
- 部署一个服务
- 建立数据卷
docker volume create mongo_data_yapi
- 启动mongodb,自定数据卷
docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo
- 对image 打tag
docker tag registry.cn-hangzhou.aliyuncs.com/anoy/yapi yapi
- 启动服务, 命名,建立数据连接,切换工作分支,端口映射
docker run -d \
--name yapi \
--link mongo-yapi:mongo \
--workdir /api/vendors \
-p 3000:3000 \
yapi \
server/app.js