阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker的安装使用

156次阅读
没有评论

共计 3093 个字符,预计需要花费 8 分钟才能阅读完成。

Docker 的安装

1.1 环境说明

操作系统:Red Hat Enterprise Linux Server release 7.1

软件环境:系统已经配置了 yum 安装源

软件版本:docker-1.5.0-28.el7.CentOS.x86_64.rpm

1.2 安装过程

# 使用 root 用户

su root

# 检查是否已安装

[root@localhost ~]# rpm -qa | grep ncurses docker

没有那个文件或目录就进行以下安装步骤:

# 进入安装目录

cd /usr/local/

# 不检查密钥方式安装

yum -y install docker –nogpgcheck

# 启动

systemctl start docker

# 是否运行

docker info

以上信息说明运行正常,安装结束。

1 Docker 的使用

1.1 制作 tomcat 的镜像

目的:基于最小的 centos 操作系统运行 tomcat7 服务器对外提供服务,这样可以最小化服务器资源占用。

软件:jdk-7u80-linux-x64.gz、apache-tomcat-7.0.61.tar.gz

操作过程

1. 获取 centos 最新稳定版镜像。

# 查看所有镜像

docker images

此时没有任何镜像文件。

# 获取最新镜像

docker pull centos:latest

# 再次查看所有镜像(镜像列表,注意看 IMAGE ID 是否重复)

docker images

看到了 3 行信息,注意看 IMAGE ID 列,都是一样的,说明是一个文件的不同 TAG 而已。接下来我们使用这个镜像制作我们自己要使用的镜像文件。

1. 启动容器

容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。既然镜像已经下载到本地,那么如何启动容器呢?

启动容器命令:docker run < 相关参数 > < 镜像 ID> < 初始命令 >

参数说明:

#  -i:表示以“交互模式”运行容器

#  -t:表示容器启动后会进入其命令行

#  -v:表示需要将本地哪个目录挂载到容器中,格式:-v < 宿主机目录 >:< 容器目录 >

#“/bin/bash”,表示什么也不做,只进入命令行

例如:

# 我们一般情况下是将软件安装到 /usr/local/ 目录中,因此将此目录映射到 docker 里面的 mnt 目录,以便我们安装 tomcat 使用

docker run -i -t -v /usr/local/:/mnt fd44297e2ddb /bin/bash

 执行后截图:

此时已经进入到容器命令行交互模式中,进入 mnt 查看我们需要的软件。

因为我在宿主机里面已经安装好 jdk7、tomcat7 软件,因此我只需将两个文件夹拷贝到本容器的相对路径即可。

执行拷贝:

[root@e83353741aa2 mnt]# cp -ri jdk7 /usr/local/

[root@e83353741aa2 mnt]# cp -ri tomcat7 /usr/local/

软件安装完成。

# 退出容器

[root@e83353741aa2 mnt]# exit

# 查看运行的所有容器

[root@localhost ~]# docker ps -a

CONTAINER ID        IMAGE                COMMAND            CREATED            STATUS                        PORTS              NAMES

e83353741aa2        fd44297e2ddb:latest  “/bin/bash”        12 minutes ago      Exited (130) 29 seconds ago                      happy_heisenberg 

# 对正的 ID 号码为 e83353741aa2 的容器进行打镜像包,命名为 navinfo.centos7.tomcat7

[root@localhost ~]# docker commit e83353741aa2 navinfo.centos7.tomcat7

ef03386171147f9553f3f296d965c7fe5c8d6521ada0b1f9969489e9f8342ab8

复制代码

看到以上输出,说明镜像已经制作完成。

1.1 使用 tomcat 的镜像运行

有了这个 tomcat7 镜像我们就要使用他来为我们提供 web 服务了。

# 查看所有镜像

[root@localhost ~]# docker images

REPOSITORY                TAG                IMAGE ID            CREATED            VIRTUAL SIZE

navinfo.centos7.tomcat7  latest              ef0338617114        5 minutes ago      555.8 MB

docker.io/centos          centos7            fd44297e2ddb        3 weeks ago        215.7 MB

docker.io/centos          latest              fd44297e2ddb        3 weeks ago        215.7 MB

docker.io/centos          7                  fd44297e2ddb        3 weeks ago        215.7 MB

# 上面黄色内容的是我们创建的镜像,我们运行这个容器并启动里面的 tomcat 服务器

[root@localhost ~]# docker stop 87744f0a5201

停止正在运行的容器

删除运行的所有容器

[root@localhost ~]# docker rm $(docker ps -a -q)

我们来重新运行 tomcat7 镜像

# 直接进入交互模式 (-p 宿主机 IP 和 PORT: 容器 PORT)

[root@localhost ~]# docker run -it -p 10000:8080 navinfo.centos7.tomcat7 /bin/bash

[root@84467414cafa /]#

# 启动 tomcat7

[root@84467414cafa /]# /usr/local/tomcat7/bin/startup.sh

浏览器访问 http://192.168.203.129:10000/  截图:

成功运行。

一个 tomcat 没有满足我们的应用需求,再运行一个 tomcat,此时 clone 一个 session 窗口同样运行上面的操作

[root@localhost ~]# docker run -it -p 10001:8080 navinfo.centos7.tomcat7 /bin/bash

[root@08e8eda8196f /]# /usr/local/tomcat7/bin/startup.sh

Using CATALINA_BASE:  /usr/local/tomcat7

Using CATALINA_HOME:  /usr/local/tomcat7

Using CATALINA_TMPDIR: /usr/local/tomcat7/temp

Using JRE_HOME:        /usr/local/jdk7/jre

Using CLASSPATH:      /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar

Tomcat started.

[root@08e8eda8196f /]#

访问浏览器:http://192.168.203.129:10001/

此时已经同时运行了两个 tomcat。

到此演示结束。

运行的 tomcat 服务器列表:

http://192.168.203.129:10000/

http://192.168.203.129:10001/

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计3093字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中