Docker的安装
Docker的安装
首先,我们知道Docker并不是容器,它是一个管理容器的引擎。此示例采用的Linux版本是CentOS7。学习Docker也推荐在Linux环境下使用。
- Docker支持CentOS6以及以后的版本
- CentOS7系统可以直接通过yum进行安装
查看系统是否已安装Docker
yum list installed | grep docker
安装
yum install docker -y
安装后,使用docker --version(docker version,docker -v) 查看docker是否安装成功
(如需卸载,需要通过yum remove 卸载yum list installed | grep docker列出来的三个包(docker、docker-common、docker-client))
查看docker是否运行
service docker status 或者 systemctl status docker
或者
ps -ef | grep docker
启动与停止
启动 systemctl start docker 或者 service docker start
停止 systemctl stop docker 或者 service docker stop
重启 systemctl restart docker 或者 service docker restart
Docker服务信息
- docker info 查看docker服务相关信息
- docker 查看所有的帮助信息
- docker COMMAND --help 查看某个command命令的帮助信息
Docker使用初体验
体验之前,我们先了解下docker的运行机制。
我们知道docker并不是容器,只是一个管理容器的引擎。
Docker的底层运行原理:
Docker服务启动
>> 下载镜像
>> 启动该镜像得到一个容器
>> 容器里运行着我们想要的程序
根据Docker的运行机制,我们将按照如下步骤运行第一个Docker容器
- 将Docker服务启动
进行到这步时,Docker服务已经启动 - 下载一个镜像
Docker运行一个容器前需要本地存在有对应的镜像,如果本地不存在镜像,会从镜像仓库下载(默认是Docker Hub公共注册服务器中的仓库 https://hub.docker.com)
2.1 CentOS 下怎么下载(pull)镜像?
从Docker Hub官网搜索要使用的镜像,也可以在命令行使用命令搜索要使用的镜像,比如 docker search tomcat 进行搜索,然后下载所需要的镜像:
下载镜像: docker pull tomcat
运行镜像: docker run tomcat (前台运行,后台运行加参数 -d )
显示本地已有的镜像 : docker images
此时 命令 docker run -d tomcat 表示通过镜像运行了一个tomcat容器。
但并不能通过ip:port方式进行访问。
其中的网络机制如下:
windows 访问 >> linux >> docker容器中的tomcat
为了做端口映射,将linux端口映射到docker容器中的端口
此时,我们先关闭一下该tomcat容器
- docker ps (show all containers info)
- docker stop (后面可以接容器ID或容器名)
(此时再通过docker ps 查询,则会显示没有任何运行中的容器信息) - 启动时加参数 -p 进行端口映射
docker run -d -p 8088:8080 tomcat (或者镜像ID、镜像名)
此命令表示,将linux系统的8088端口映射到docker容器的8080端口。docker容器默认采用桥接模式与宿主机通信。需要将宿主机的ip端口映射到容器的ip端口上。
如果像我一样,启动后访问404的,如上图所示,可以参考这篇文章,修改tomcat欢迎页面的路径。
https://blog.csdn.net/shxbl0/article/details/108953468
此时,我们就可以通过ip加端口的方式,访问容器中的tomcat了。
http://我是IP地址:8088
进入docker容器
进入容器 (此案例进入的是上面启动的tomcat容器)
docker exec -it 9be6ccd13949 bash
其中 i 表示交互式的(人机对话),也就是保持标准输入流打开;
t 表示虚拟控制台,分配到一个虚拟控制台;
退出容器通过 exit 指令
如果想继续了解Docker,可以阅读下一篇文章 Docker核心组件