centos 安装tomcat_Centos7安装以及使用Docker

北平连续两天小雨

Docker是什么

Docker的架构图baaf252250bb5d841803b9f25026d3f5.png

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。                                                    —— 来自百度百科

Docker是基于Go语言实现的云开源项目

Docker解决了什么问题

不同的环境会导致开发和运维吵架,有了Docker,运维也能变基友

•打包所有的配置交付运维,不会再出现和预期不一致•以前搬家是一件一件,容易出问题,有了Docker搬家是一栋楼直接扛走•一次部署,多次运行

安装Docker

•官网安装文档[1]

•较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。

  sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

•安装yum-utils软件包

  sudo yum install -y yum-utils
•官网文档,但是相对不是很稳定
  $sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
•替换为阿里云
  sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
•安装最新版本的docker-ce
  sudo yum install docker-ce docker-ce-cli containerd.io
•查看Docker的版本
  docker --version
•当前版本为19.03.8

1982c780ad2c7e5bcdfdf10f97b0dd81.png

•启动docker
  sudo systemctl start docker

fe53465fefb81f165fe3388b0f943e90.png

Docker安装完成 •下载镜像时默认链接的是docker hub,国外的网站不稳定,我们需要切换成阿里的 •

4b4c50272283bd248ecb7d32f8785846.png

Dokcer hello-world

•下载hello-world并运行
  docker search hello-world

2e9221ff3f74163cd671be4862f79008.png

  docker pull hello-world

03cc72fcf57c1263b7da450f8efceacf.png

  docker run hello-world

7a76cbc461c20ec96f3b4ba9dd388b30.png

docker commit 提交容器副本使之成为一个新的镜像

•下载最新的tomcat镜像
  docker search tomcat

c7a67f644dbcbf75e9073e66f9c55a27.png

  docker pull tomcat
•下载完成后查看镜像
  docker images

962527e19139d70a3d121cfd601fbb9a.png

•运行tomcat
  docker run -d -p 8080:8080 --name mytomcat tomcat
•docker 【OPTIONS]常用说明 •--name 容器的新名字 •-i 以交互模式运行容器,通常与-t同时使用 •-t 以容器重新分配一个伪输入终端,通常与-i同时使用 •-P 随机端口映射 •-p 指定蛋壳映射 •查看当前运行的容器
  docker ps

f1f721df4ac11f372c79751472fd6da7.png

•访问ip+端口口

c846e62e833e0f52653ad1c20cc27f95.png

•竟然访问失败了,进入到tomcat的目录中看看tomcat的webapps中有什么
  docker exec -it [CONTAINER ID] /bin/bash

41c325824c3ffb0df4ed59ba9645feba.png

•我们发现webapps目录是空,所以导致了404,删除webapps文件夹,把webapps.dist复制到webapps中
  rm -rf webapps  cp -r webapps.dist/ webapps
•复制成功后查看webapps中已经有了内容,退出并执行commit
  exit  docker commit -a "shiyi" -m "create shiyitomcat" [CONTAINER ID] shiyitomcat
•查看容器

a5eec07e82f27b79813011fdfcf7be30.png

•运行shiyitomcat
  docker run -d -p 8081:8080 shiyitomcat
•查看运行的容器

d896c18b497f8ae7aadfd97410c632f3.png

•访问ip+8081端口号,成功出现Tom

164aa986040ae4b19374328e40bbf655.png

Docker 容器数据卷

第一种方式:使用命令

•Docker 容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了,为了能报错数据在docker中我们使用数据卷 ,能够实现容器到主机,主机到容器的数据共享 •启动容器并且添加容器卷
  docker run -it -v /myDataVolume:/dataVolumeContainer shiyitomcat
•可以查看宿主机根目录有myDataVolume,容器中的根目录有dataVolumeContainer目录,两者之间可以实现数据共享 •启动容器并添加容器卷,只有宿主机可以写,容器机只能读(ro:read only)
  docker run -it -v /myDataVolume:/dataVolumeContainer:ro shiyitomcat

第二种方式Dockerfile

•编写Dockerfile •vim Dockerfile
  FROM centos  VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]  CMD echo "finished"  CMD /bin/bash
•编写完成后docker build
  docker build -f /mydocker/Dockerfile -t crazy/centos .
•构建完成后查看

db0d489d962f0263c6d5b93b4c64e536.png

•启动容器后会自动创建两个容器卷
  docker run -it crazy/centos
•启动后并查看目录

0ee20a6ecd81a6fe4443bb9255ec90cd.png

•没有指定宿主机的共享数据目录,docker指定了默认的目录
  docker inspect [CONTAINER ID]

54d4cb5f1b82438d97a21c65ea594816.png

•继承自某个容器
  docker run -it --name mycentos --volumes-from crazy/centos
•Dockerfile保留字
  FROM:基础镜像,当前新镜像是基于哪个镜像的  MAINTAINER: 镜像维护者的姓名和邮箱  RUN:容器构建时需要执行的命令  EXPOSE:暴露出端口号  WORKDIR:工作目录  EVN: 环境变量  ADD:添加且解压缩  COPY:添加  VOLUME:容器卷,数据保存和共享 CMD:指定容器启动时要启动的命令,Dockerfile中可以有多个,但只会执行最后一个  ENTRYPOINT:追加 ONBUILD:触发器

Docker常用命令

•删除已经运行的容器
  docker rmi -f [CONTAINER ID]
•删除所有正在运行的容器
  docker rm -f $(docker ps -a)

   我是失忆,不善言辞又感性的一个人。

欢迎在下方留言。如果你喜欢这篇文章,别忘了三连,点赞,再看,留言。你们的支持就是失忆的动力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值