创建Docker镜像

[info]构建Docker镜像的一般过程是首先创建一个容器,

并在容器里修改镜像,配置相关环境等,最后将修改提交为一个新镜像。

下载制作镜像的系统

root@ubuntu:/home/guanfuchang# docker pull ubuntu

下载完成后,本地多了一个ubuntu系统镜像如下:

root@ubuntu:/home/guanfuchang# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ea4c82dcd15a 4 weeks ago 85.8MB
...

启动容器并修改镜像

创建启动容器ubuntu:latest,并将本地目录挂载到容器中

docker run -i -t -v /data/software/:/data/software ubuntu:latest /bin/bash

参数说明:

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

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

-v:表示需要将本地哪个目录挂载到容器中

在容器中安装JDK,Tomcat

  1. 将安装介质上传到宿主主机目录/data/software 中,然后进入容器

    安装介质JDK链接:https://pan.baidu.com/s/1nXiJ18HUBbnPC3IdMNi46g 密码:2phd

    安装介质Tomcat链接:https://pan.baidu.com/s/1GVJria7QjzvwSCZHBFdloQ 密码:q3c0

    启动容器,然后进入容器(进入容器前,需先将容器运行起来)
root@ubuntu:/data/software# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddeb33467e9e ubuntu:latest "/bin/bash" 2 hours ago Exited (127) 24 minutes ago xenodochial_keller
root@ubuntu:/data/software#
root@ubuntu:/data/software# docker start ddeb33467e9e
ddeb33467e9e
root@ubuntu:/data/software# docker attach ddeb33467e9e
root@ddeb33467e9e:/#

查看/data/software中是否已经同步了安装介质。

root@ddeb33467e9e:/# cd /data/software/
root@ddeb33467e9e:/data/software# ls
apache-tomcat-9.0.13.tar.gz jdk-8u191-linux-x64.tar.gz
  1. 将JDK和Tomcat 安装到/data 目录下
root@ddeb33467e9e:/data/software# tar -zxvf jdk-8u191-linux-x64.tar.gz -C /data/
root@ddeb33467e9e:/data/software# tar -zxvf apache-tomcat-9.0.13.tar.gz -C /data/
root@ddeb33467e9e:/data/software#
root@ddeb33467e9e:/data/software# cd ..
root@ddeb33467e9e:/data# mv jdk1.8.0_191 jdk
root@ddeb33467e9e:/data# mv apache-tomcat-9.0.13 tomcat
root@ddeb33467e9e:/data# ls
jdk software tomcat
  1. 修改环境变量,将下面的配置添加到 /etc/profile 的最后面
#set java environment
export JAVA_HOME=/data/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:{JRE_HOME}/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CATALINA_HOME=/data/tomcat
export CATALINA_BASE=/data/tomcat

[warning]容器内如果vim命令无法使用,需先安装,安装如下:

root@ddeb33467e9e:/data# apt update

root@ddeb33467e9e:/data# apt install vim

修改后,使配置立即生效

root@ddeb33467e9e:/data# source /etc/profile

检查java配置是否生效

root@ddeb33467e9e:/# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

编写启动脚本

root@ddeb33467e9e:/# vim /data/start.sh

脚本如下:

#!/bin/bash
# Export environment variable
source /etc/profile
# Start tomcat
bash /data/tomcat/bin/catalina.sh run

授权启动脚本

root@ddeb33467e9e:/# chmod u+x /data/start.sh

制作镜像

查看容器,获取容器ID

root@ubuntu:/data/software# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddeb33467e9e ubuntu:latest "/bin/bash" About an hour ago Exited (127) 6 seconds ago xenodochial_keller

制作镜像

root@ubuntu:/data/software# docker commit ddeb33467e9e mt/mytomcatdemo:1.0

查看镜像是否已经安装成功

root@ubuntu:/data/software# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mt/mytomcatdemo 1.0 a65637693626 41 seconds ago 580MB

创建并运行容器,指定宿主端口18080

root@ubuntu:/data/software# docker run -d -p 18080:8080 --name tomcatdemo mt/mytomcatdemo:1.0 /data/start.sh
96f03a0e009e706b213583a1408153f8c26314a1d6776204f9b1a6798ed313a7

查看容器是否已经在运行

root@ubuntu:/data/software# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96f03a0e009e mt/mytomcatdemo:1.0 "/data/start.sh" 10 seconds ago Up 10 seconds 0.0.0.0:18080->8080/tcp tomcatdemo

访问宿主ip:端口,如:http://192.168.147.128:18080/ 访问如下即说明镜像制作成功,成功运行。


:-:

微信扫一扫,关注“python测试开发圈”,了解更多测试教程!

Docker10-实战-构建Java Web运行环境的更多相关文章

  1. 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)

    工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...

  2. Docker搭建Java Web运行环境

    1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...

  3. 使用 Docker 搭建 Java Web 运行环境

    黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...

  4. 转:使用 Docker 搭建 Java Web 运行环境

    原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...

  5. 使用 Docker 搭建 Java Web 运行环境(转)

    原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...

  6. 用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)

    (软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...

  7. 使用Docker搭建Java Web运行环境

    这周末体验了一下挺火的Docker技术,记录学习笔记. >Docker是干什么的 Docker 是一个基于Linux容器(LXC-linux container)的高级容器引擎,基于go语言开发 ...

  8. Ubuntu14.04环境下java web运行环境搭建

    1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...

  9. docker 搭建 Java Web 运行环境

    安装环境:jdk,tomcat,mysql,nginx

随机推荐

  1. 请指出document load和document ready的区别

    document load文档的所有内容都加载完成 document ready文档的DOM加载完成

  2. 牛客NOIP暑期七天营-提高组1

    牛客NOIP暑期七天营-提高组1 链接 A 边权可为0就排序建一条链子. 但是边权不为0 除了第一个有0的不行. x连向上一个比他小的数. 期间判断有无解. #include <bits/std ...

  3. [题解向] Luogu4092 [HEOI2016/TJOI2016]树

    #\(\mathcal{\color{red}{Description}}\) \(Link\) 给定一棵以\(1\)为根的树,有两种操作: \(C: \ \ x\)给点\(x\)打上花标记. \(Q ...

  4. c# 自定义按钮,渐变颜色(含中心向四周渐变,单方向渐变)

    废话不多言,直接代码: public class RoundButton : Button { bool clickBool = false; //1.设置圆形 //2.设置渐变色 //3.设置too ...

  5. Lab2:物理内存管理

    前言 现在内存管理的方法都是非连续内存管理,也就是结合段机制和分页机制 段机制 段地址空间 进程的段地址空间由多个段组成,比如代码段.堆栈段和符号表段等等 段对应一个连续的内存"块" ...

  6. OpenSTF 平台搭建

    什么是OpenSTF? OpenSTF(Smartphone Test Farm)是一个web端移动设备管理平台,可以从浏览器端远程调试.远程管理设备.其实有点类似于我们现在很火热的云测平台,如:te ...

  7. 小程序 - 底部导航栏“tabBar”

    小程序底部导航 1.app.json页面配置: { "pages": [ "pages/movie/movie", "pages/cinema/cin ...

  8. Java多线程编程(2)--多线程编程中的挑战

    一.串行.并发和并行   为了更清楚地解释这三个概念,我们来举一个例子.假设我们有A.B.C三项工作要做,那么我们有以下三种方式来完成这些工作:   第一种方式,先开始做工作A,完成之后再开始做工作B ...

  9. Github 上的个人项目开源心得

    原文链接 https://elfgzp.cn/2019/12/09/gortal-site-project 由于最近在 Github 发了一个个人开源项目 - 「gortal」一个使用 Go 语言开发 ...

  10. ubuntu docker 搭建 mongodb,开启授权访问 redis,mysql mssql 备份还原

    命令安装docker 如果您想从Ubuntu存储库安装docker版本,则可以运行下面的apt命令. sudo apt install docker.io等到安装完成后,您可以启动Docker并使用s ...