介绍一下docker,不知道的同学先去X度一下哈,这几天去帮朋友部署java微服务,记录一下写写随笔:
注意Docker必须要64位的系统,因为我这的服务器是centos6.5,直接yum安装rpm -ivh
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
yum -y install docker-io
启动停止重启:service docker start/stop/restart #开机启动 chkconfig docker on
可能发生的错误:
那我们继续根据提示docker -d
升级内核?那就扯犊子了,升级内核这篇教程还能写下去吗?下面看解决方案:yum upgrade device-mapper-libs -y
执行完了重新启动docker,常用简单命令如下:
帮助 docker --help
概要信息 docker info
镜像查看 docker images
运行的容器查看 docker ps
所有容器查看 docker ps -a
启动/停止/杀掉容器 docker start/stop/kill 容器id
删除容器 docker rm 容器id
删除镜像 docker rmi 镜像id
下面来以Nginx程序镜像为例,用docker容器运行Nginx:docker pull nginx:1.9
启动容器:docker run -d -p 8080:80 nginx:1.9
#将容器内nginx80端口,映射到宿主机8080端口,访问http://192.168.1.8:8080/,看到nginx启动成功
可能发生的错误:
Error response from daemon: Cannot start container f41e69301d47: iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.4:80 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)
Error: failed to start containers: [f41e69301d47]
解决方案:pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
完成之后重新启动docker,错误解决。
再启动一个容器:docker run -d -p 8081:80 nginx:1.9 #访问http://192.168.0.8:8081/,ok
到这里,我们就能看到docker部署应用和传统部署应用的区别和优势了,传统部署需要拷贝nginx重新配置端口,docker部署只需在镜像基础执行一条命令就能完成。
原创文章如转载,请注明出处,本文首发于彭超的博客
打赏
微信扫一扫,打赏作者吧~