一.概念
容器化平台,Docker提供应用打包,部署与运行应用的容器化平台
http协议,docker daemon 守护进程
容器与镜像
镜像:文件,只读,提供了运行程序完整的软硬件资源,是应用程序的集装箱
容器:是镜像的实例,有docker负责创建,容器之间彼此隔离
docker pull redis : docker daemon 查看本地镜像(Images)中是否有redis镜像,没有去远程仓库拉取
dokcer run redis: docker daemon查看已有镜像,创建对应容器(Containers),并启动服务
二.常用命令
1.docker镜像查询:hub.docker.com 直接搜要用的镜像 tomcat redis...
安装tomcat docker pull tomcat
安装指定版本:docker pull tomcat:9.0.41-jdk15-openjdk
查看已安装的镜像
运行最新版tomcat: docker run tomcat ctrl+c 退出tomcat
创建通信:
2.通信映射:docker run -p 8000:8080 tomcat
使用:netstat -tulpn 查询端口
报错:-bash: netstat: command not found 解决:yum install net-tools
3.客户端访问tomcat报错
先看防火墙
#查看防火墙状态 :service firewalld status
#关闭防火墙 systemctl stop firewalld.service
#关闭开机自启 systemctl disable firewalld.service
重试报错,重启docker: systemctl restart docker
然后,还不行,查看webapps文件夹为空问题,然后可以了
查到tomcat的容器ID : docker ps
进入tomcat的容器终端:docker exec -it tomcat的容器ID /bin/bash
进入webapps文件夹 :cd webapps
复制上一目录的webapps.dist下的所有文件到webapps目录下:cp -r ../webapps.dist/* ./ (两个路径./前面有空格
4.非阻塞状态起tomcat(增加-d): docker run -p 8000:8080 -d tomcat
关闭tomcat: 查看容器id: docker ps 停止:docker stop tomcat容器id 删除容器:docker rm tomcat容器id
一步到位关闭: docker rm -f tomcat容器id
5.删除镜像:查看 docker images 删除:docker rmi tomcat:查询的tag -f(强制删除)
三、容器内部结构
1.在容器中执行命令:docker exec [-it] 容器id 命令
exec:对应容器中执行命令 -it:采用交互方式执行命令
例如:docker exec -it 容器id /bin/bash
2.创建一个tomcat容器,会内置一个linux和jdk,退出容器:exit
3.docker默认存放路径:cd /var/lib/docker
四、容器生命周期
创建(created):docker create tomcat
开始(Up):docker start 容器id
停止(Exited):docker stop 容器id
暂停(Pause):docker pause 容器id
取消暂停(Up):docker unpause 容器id
删除():docker rm 容器id