ubuntu+docker+jenkins 持续部署教程2-配置docker容器


在上一章我们介绍了docker的基础知识,包括docker的概念、组件构成和常用命令,今天这一章我们就通过构建一个基础镜像的过程,给大家详细讲解如何进行镜像下载、运行容器、复制文件、启动容器应用、推送镜像到仓库等操作。

基础镜像

我们在开发中常常会使用这样一种技巧,在项目中创建一个base类,其他类都继承这个base类,这样的好处就是当我们需要扩展某些基础功能的时候,只需要扩展base类,那么继承于它的类都会响应。我们今天想构建的基础镜像同样是要实现这样的功能,我们会预装一些我们在后期容器用到的环境和应用,我们在发布应用时,只需要关注当前容器部署应用的情况,而不会再考虑基础环境的配置。
基础镜像中将包含以下内容:

  1. JDK 1.8
  2. Tomcat 7

构建镜像

运行容器

下载并运行容器

运行命令 docker run -p 50016:50016 --name ubuntu18_base -it ubuntu:18.10 /bin/bash 构建容器,如图所示:
在这里插入图片描述
如上图,我们已经运行了一个以ubuntu:18.10 为基础镜像的容器,并映射容器的端口50016到宿主机的50016端口。
虽然我们构建容器是一条命令解决的,其实docker client是进行了两部分工作:

  1. 下载镜像
    docker会在本地镜像仓库检索是否存在我们指定要运行的镜像,如果存在则立即执行,如果不存在,则从外网的镜像仓库进行下载。
  2. 运行容器
    镜像准备完毕后,运行docker run命令就可以运行容器。
    当前容器的运行模式为前台模式,直接进入了容器中。
    退出容器返回到宿主机有两种模式:
  3. 输入exit会直接退出容器,返回到宿主机命令行。
  4. 使用组合键 ctrl+q+p会将容器设置为后台运行,返回到宿主机命令行。
    执行 docker ps -a 可以查看本地容器列表
    执行 docker images 可以查看本地镜像列表。
    在这里插入图片描述

进入已存在的容器

docker服务重启或者docker容器退出后,本地容器就处于停止状态,如果想进入本地容器需执行一下命令。
如上图所示,docker容器的id为 a56380be0877
启动容器 docker restart a56380be0877 启动容器
进入容器 docker attach a56380be0877 进入容器
这样我们就进入了一个本地已停止的容器。
如果容器是在后台运行中的,则执行 docker attach a56380be0877 即可直接进入容器。
在这里插入图片描述

删除容器和镜像

删除容器的命令为 docker rm <容器ID>
删除镜像的命令为 docker rm <镜像ID>
这里需要注意的是:
运行中的容器是无法被删除的,所以先要执行 docker stop <容器ID> 停止运行中的容器。
存在容器引用的镜像是无法删除的,就是说如果引用了本地镜像的容器没有被删除,则本地镜像是不允许删除的。

部署应用

前期准备

刚刚加载的容器我们可以视为一个刚做完系统的新服务器,所以我们对它进行简单的环境配置。
执行一下命令 刷新容器系统的软件安装源
apt-get update
apt-get upgrade
apt-get install vim 安装文本编译工具
在这里插入图片描述

dokcer Copy命令

首先,在容器中创建一个文件夹,命名为java
在这里插入图片描述
退出当前容器,执行docker cp 命令 讲 tomcatjdk1.8文件夹拷贝到 java文件夹中,并进入容器通过ls命令进行验证。
在这里插入图片描述

安装JDK

执行 vim /etc/profile 命令,对profile文件进行编译,并在文件最后增加以下内容。

export JAVA_HOME=/java/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export PATH=.:${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH 

在这里插入图片描述
文件保存退出后,执行 source /etc/profile 让配置文件立即生效,执行 java -version 返回如下图所示,证明安装成功。
在这里插入图片描述

安装Tomcat

执行 vim /java/tomcat7/bin/setclasspath.sh,对setclasspath.sh进行编辑,加入如下内容,如图:

export JAVA_HOME=/java/jdk1.8
export JRE_HOME=/java/jdk1.8/jre

在这里插入图片描述
保存退出后,进入bin文件夹执行 ./catalina.sh run命令,会报如下图所示错误,这是因为执行sh脚本是需要授权的,执行

chmod u+x *.sh 

即可解决问题。
在这里插入图片描述
再次执行 ./catalina.sh run命令,运行成功。
在这里插入图片描述

推送镜像

生成本地镜像
docker commit -a ‘zhangbo’ -m ‘add jdk 1.8 add vim add tomcat’ ubuntu18_base mdjzbsq/docker_base:1.0
在这里插入图片描述
推送本地镜像到仓库。
首先执行 docker login 登录 docker hub ,输入用户名和密码,执行 docker push 命令,看到如图所示,完成推送。
在这里插入图片描述
也可以登录官方网站进行验证。
在这里插入图片描述

小结

这一章的内容比较多,通过实际操作构建了一个基础的镜像文件,为以后发布应用提供基础镜像。

文章中提到的tomcat和jdk文件包我都已经上传到百度云盘中,大家可以直接下载。
百度云盘地址:https://pan.baidu.com/s/1sPlQpRn14NlTeIoBf3hb1g 提取码:ick1

祝大家学习愉快。

发布了17 篇原创文章 · 获赞 0 · 访问量 467

猜你喜欢

转载自blog.csdn.net/weixin_36008116/article/details/89439559