Docker是什么?
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,
然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker能干什么?
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,
其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。
它怎么干?
Docker 支持以下的 Ubuntu 版本:
Ubuntu Precise 12.04 (LTS)
Ubuntu Trusty 14.04 (LTS)
Ubuntu Wily 15.10
Xenial 16.04 (LTS)
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
概念:
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
(这里推荐安装contos7 以上的版本,如果还未安装contos系统 查看我上一张的博客 进行contos7.x 的安装!):
执行命令:uname -r
输入命令:
安装docker: yum -y install docker
这个样子就代表安装成功!
启动docker(不会有任何提示)
启动docker:systemctl start docker
查看docker版本
查看docker版本 : docker -v
设置docker开机启动:
设置docker开机启动: systemctl enable docker
停止docker服务:
停止docker服务: systemctl stop docker
更多命令参考:
https://hub.docker.com
问题遇见:
1c07da2e39f187034dd47da66529972c92dbfea57fa80848a9c95f1a4b915e53
/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint tomcat01 (1ca411575fa37ddc50406d79f8da52bdb6f02556c16b9d8d5c2043c78ca15d36): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8888 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.
解决:
我之前重启过防火墙,docker的服务被清洗掉了 无论执行什么命令都会报这个错! 解决: 启动 systemctl start docker 守护进程重启 sudo systemctl daemon-reload 重启docker服务 systemctl restart docker 重启docker服务 sudo service docker restart 关闭docker service docker stop 关闭docker systemctl stop docker 启动docker: systemctl start docker