docker简介
什么是docker?
- Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker的应用场景?
- web应用的自动化打包和发布
- 自动化测试和持续集成、发布
- 在服务型环境中部署和调整数据库或者其他的后台应用
- 从头编译或者扩展有的openShift或cloud Foundry平台来搭建自己的PaaS环境
ubuntu安装docker
sudo apt-get update #更新ubuntu的镜像源
sudo apt-get install docker #安装docker
sudo service docker start #启动docker
docker run hello-world #运行docker
CentOS Docker 安装
yum -y install docker #安装docker
service docker start #启动docker
docker run hello-world #运行docker
docker API 解释
tag :标记本地镜像
- 将ubuntu:16.04 的标记改为 ubuntu/nodeJs:v8.1.0
- docker tag ubuntu:16.04 ubuntu/nodeJs:v8.1.0
run :创建一个新的容器并运行一个命令
- -d --detach 后台运行容器,并返回容器ID
- -i 以交互模式运行容器,通常与-t同时使用
- -t 为容器重新分配一个伪输入终端,通常与-i同时使用
- --name=“textNginx” 为容器指定一个名称
- --dns 8.8.8.8 制定容器使用的DNS服务器,默认和宿主主机一样
- -h 制定容器的hostname
- -e --env 设置环境变量
- -m --memory 设置容器使用内存的最大值
- --link 添加链接到另一个容器
- --expose 开放一个端口或一组端口
- -v volume
- -w --workdir 工作目录
- -u --user username
- -c cpu shares
exec :在运行的容器中执行命令
- -d all 在后台运行
- -i 以交互模式运行,即使没有也也会以交互模式运行
- -t 分配一个伪终端
ps : 列出当前正在运行的容器
- -a --all 列出所有的容器
- -f --find 根据条件过滤显示容器
- -l --latest 现实最近创建的容器
- -s --size 显示文件的大小
- -q --quiet 只显示容器编号
rm : 删除一个或多个容器
- -f 强制删除一个正在运行的容器
- -l --link 移除容器间的网络连接
- -v --volumes 删除与容器关联的卷
批量删除本地容器 docker rm $(docker ps -a -q)
rmi : 删除本地一个或者多个镜像
- -f 强制删除一个镜像
批量删除本地镜像 docker rmi $(docker images -a -q)
images : 列出本地镜像
- -a all 列出所有的本地镜像
- -q 只显示镜像ID
build : 使用Dockerfile创建镜像
- -c 限定CPU配额
- -m 限定内存配额
- -f 指定要使用Dockerfile的path