1.Docker简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
2.Docker和virtual
1.帮助命令
[1].docker version
[2].docker info
[3].docker --help
2.镜像命令
[1].docker images
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG 来定义不同的镜像。
如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
[2].docker search
语法:docker search [OPTIONS] 镜像名字
范例:使用docker search
[3].docker pull
语法:docker pull 镜像名字[:TAG]
TAG:表示版本信息
如:docker pull tomcat<==>docker pull tomcat:latest
[3].docker rmi
语法:docker rmi 某个XXX镜像名字ID
3.容器命令
[1].docker run
语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
交互式容器
若运行docker pull centos时出现"FATAL: kernel too old",则是pull centos的版本信息太高,只要指定版本信息即可解决
[2].docker ps
语法:docker ps [OPTIONS]
[3].docker exit
(1).exit
容器停止退出
(2).ctrl+P+Q
容器不停止退出
[4].docker start
语法:docker start 容器ID或者容器名
[5].docker restart
语法:docker restart 容器ID或者容器名
[6].docker stop
语法:docker stop 容器ID或者容器名
[7].docker kill
语法:docker kill 容器ID或者容器名
[8].docker rm
语法:docker rm 容器ID
如图,因为f4883不存在了所以删除成功
范例:一次性删除多个容器
[9].重要
(1).守护式容器
语法:docker run -d 容器名
(2).容器日志
语法:docker logs -f -t --tail 容器ID
(3).容器内进程
语法:docker top 容器ID
(4).容器内细节
语法:docker inspect 容器ID
(5).进入正在运行的容器并以命令交互
①.docker exec
语法:docker exec -it 容器ID bashShell
②.docker attach
语法:docker attach 容器ID
exec和attach两者区别
(6).容器内拷贝文件到主机
语法:docker cp 容器ID:容器内路径 目的主机路径
4.总结