Docker---部署nginx、tomcat、elasticsearch
部署nginx
一、搜索并拉取镜像
[root@localhost ~]# docker search nginx # 搜索nginx镜像 [root@localhost ~]# docker pull nginx # 下载nginx镜像 [root@localhost ~]# docker images # 查看nginx镜像是否下载到本地主机上了
二、运行镜像生成容器
[root@localhost ~]# docker run -d -p 3120:80 --name='nginx01' nginx # 运行nginx镜像,生成nginx容器。宿主机的3120端口转到容器的80端口。 [root@localhost ~]# docker ps # 查看正在运行的容器
三、访问nginx容器
[root@localhost ~]# curl localhost:3120 # 访问3120端口,即可访问nginx容器的80端口。
四、停止nginx容器
[root@localhost ~]# docker stop nginx01
五、启动nginx容器,并进入nginx容器
[root@localhost ~]# docker start nginx01 # 启动nginx容器 [root@localhost ~]# docker exec -it nginx01 /bin/bash # 进入nginx容器
部署tomcat
官方命令:docker run -it --rm tomcat:9.0。这种方法使容器用完即删。注意:删除的是容器,镜像还在的。因此这里使用下面的方法来部署:
一、拉取tomcat镜像
[root@localhost ~]# docker pull tomcat:9.0 # 下载tomcat镜像 [root@localhost ~]# docker images # 查看tomcat镜像是否下载到本地了
二、运行tomcat镜像,生成tomcat容器
[root@localhost ~]# docker run -d -p 3120:8080 --name='tomcat01' tomcat:9.0 # 启动镜像,生成容器
三、访问tomcat容器,运行时会报404,因为拉取的是最小的镜像(阉割版),所有不必要的都剔除掉了。解决办法见第四步。
[root@localhost ~]# curl localhost:3120
四、解决tomcat镜像生成的不完整的tomcat容器
[root@localhost ~]# docker exec -it tomcat01 /bin/bash # 进入tomcat容器 [root@localhost ~]# cp -r webapps.dist/* webapps # 再次访问tomcat容器即可
五、停止tomcat容器、删除tomcat容器、删除tomcat镜像
[root@localhost ~]# docker stop tomcat01 # 停止tomcat容器 [root@localhost ~]# docker rm tomcat01 # 删除tomcat容器 [root@localhost ~]# docker rmi tomcat:9.0 # 删除tomcat镜像
部署elasticsearch
一、直接运行elasticsearch镜像
[root@localhost ~]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2 [root@localhost ~]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2 # 做了内存限制 [root@localhost ~]# docker images # 查看elasticsearch镜像是否下载成功
二、终端访问elasticsearch容器
[root@localhost ~]# curl localhost:9200
三、停止elasticsearch容器、删除elasticsearch容器、删除elasticsearch镜像
[root@localhost ~]# docker ps # 查看正在运行的容器 [root@localhost ~]# docker stop 4f123e02467d # 根据容器id,停止elasticsearch容器 [root@localhost ~]# docker rm 4f123e02467d # 根据容器id,删除elasticsearch容器 [root@localhost ~]# docker images # 查看所有镜像 [root@localhost ~]# docker rmi elasticsearch # 根据镜像名称,删除elasticsearch镜像
四、查看elasticsearch容器的cpu占用情况
[root@localhost ~]# docker stats # 查看所有容器所占用的cpu [root@localhost ~]# docker stats 4f123e02467d # 查看单个容器所占用的cpu