Docker容器环境搭建(改)
- 格式:doc
- 大小:228.00 KB
- 文档页数:12
使用Docker构建容器化的Web应用程序的步骤与技巧在当今互联网时代,Web应用程序的开发和部署变得越来越重要。
传统的应用程序部署方式需要考虑多种环境因素,如操作系统、依赖库等,而这些问题可以通过使用Docker进行容器化解决。
本文将介绍使用Docker构建容器化的Web应用程序的步骤与技巧。
第一步是安装和配置Docker。
首先,我们需要安装Docker引擎。
根据不同操作系统的要求,可以在官方网站上获取对应的安装包并进行下载。
安装完成后,我们需要启动Docker服务并进行基本的配置。
通过命令行或者图形界面工具,我们可以设置Docker的镜像加速器、容器网络等参数。
这些配置将在后续的构建和运行过程中发挥重要作用。
第二步是构建Docker镜像。
镜像是Docker的基本单位,它相当于一个软件包,包含了运行一个容器所需的所有依赖和配置。
为了构建自己的镜像,我们需要创建一个Dockerfile文件,其中定义了构建镜像的步骤和配置。
在Dockerfile中,我们可以指定基于哪个基础镜像构建、安装所需的软件包、拷贝应用程序文件等。
通过一系列的指令,我们可以构建出一个符合我们需求的镜像。
构建完成后,可以使用docker image命令来查看和管理镜像。
第三步是基于镜像运行容器。
一旦镜像构建完成,我们可以使用docker run命令来创建和运行容器。
在运行容器时,我们可以指定各种参数,如端口映射、环境变量设置等。
此外,我们还可以通过docker volume命令来管理容器的数据卷,以便数据的持久化和共享。
通过这些命令,我们可以快速部署和启动一个容器化的Web应用程序。
第四步是发布和分享镜像。
一旦我们构建和运行了一个满足要求的容器,就可以考虑将其发布和分享给其他人使用。
为了方便镜像的管理和分享,我们可以使用Docker Hub这样的镜像仓库。
在Docker Hub上,我们可以创建自己的仓库,并将镜像推送到仓库中。
利用Docker构建容器化的Android开发环境在移动应用开发领域,Android是最为广泛使用的操作系统之一。
而构建适合Android开发的开发环境对于开发者来说至关重要。
传统上,搭建一个开发环境可能需要安装和配置多个软件包,这可能导致系统中产生不兼容或冲突的问题。
然而,利用Docker可以方便地构建容器化的Android开发环境,免除了繁琐的配置步骤,并提供了高度可移植和可重现的环境。
Docker是一种轻量级的容器技术,它可以将应用程序和依赖的软件打包到一个独立的、可执行的容器中。
这个容器可以在任何支持Docker的操作系统上运行,而不需要考虑操作系统的差异。
对于Android开发,Docker可以提供一个隔离的、一致的环境,使团队中的开发者们能够使用相同的工具和配置进行开发。
以下是利用Docker构建容器化的Android开发环境的步骤:1. 下载和安装Docker:首先,需要在开发机上安装Docker。
可以从Docker官方网站上下载适合操作系统的安装包,并按照安装向导进行安装。
2. 创建Docker镜像:在Docker中,镜像是构建容器的基础。
可以使用官方提供的Android镜像作为基础镜像,也可以根据自己的需求定制镜像。
在Dockerfile文件中定义所需的环境和依赖,并使用docker build命令构建镜像。
3. 运行Android容器:当镜像构建完成后,可以使用docker run命令来启动Android容器。
可以指定容器的名称、端口映射以及其他需要的配置。
运行后,可以通过shell访问容器内部,进行Android开发相关的操作。
4. 安装Android开发工具:在Android容器中,可以使用包管理工具(如apt-get或yum)来安装所需的开发工具,如JDK、Android SDK、Android Studio等。
根据开发需求,选择安装适合的版本和组件。
5. 挂载代码和资源文件:为了能够在容器内部进行代码编译和调试,可以将代码和资源文件挂载到容器中。
使用Docker构建自定义运行时环境的教程随着云计算和容器技术的发展,Docker已经成为了众多开发人员和运维工程师的首选工具之一。
它的轻量级、可移植性以及便于管理的特点使得开发人员能够更加高效地构建和部署应用程序。
本文将为您介绍如何使用Docker构建自定义的运行时环境,以满足您的特殊需求。
一、了解Docker镜像在使用Docker构建自定义运行时环境之前,需要理解Docker镜像的概念。
Docker镜像是一个独立的文件系统,其中包含了运行一个应用程序所需要的所有依赖关系和配置信息。
通过使用Docker镜像,我们可以创建和管理多个独立的容器,每个容器都运行着一个特定的应用程序。
二、创建DockerfileDockerfile是用于描述如何构建Docker镜像的文本文件。
它包含了一系列的指令,可以指定所需的基础镜像、安装依赖关系以及配置环境变量等操作。
下面是一个示例的Dockerfile:```FROM ubuntu:latestRUN apt-get update && apt-get install -y gcc g++ makeCOPY myapp /usr/local/myappWORKDIR /usr/local/myappCMD ["./run"]```在上面的示例中,首先指定了基础镜像为最新的Ubuntu版本。
然后通过RUN 指令更新了系统包管理工具,并安装了gcc、g++和make等工具。
接着使用COPY 指令将myapp目录下的所有文件复制到镜像中的/usr/local/myapp目录下。
最后使用WORKDIR指令将/usr/local/myapp设置为工作目录,CMD指令指定了容器启动后执行的命令。
三、构建镜像在创建了Dockerfile之后,可以使用docker build命令来构建镜像。
假设我们将Dockerfile保存在当前目录下,可以通过以下命令来进行构建:```docker build -t myapp-image .```其中,-t参数用于指定镜像的名称和标签,这里将镜像命名为myapp-image。
使用Docker构建并行计算环境在当今科技快速发展的时代,计算机在各个行业的应用越发广泛。
尤其是在科学领域和数据分析中,大规模的计算任务成为了一项常态。
然而,对于需要进行并行计算的项目,设置和管理计算环境通常是一项复杂而繁琐的任务。
本文将介绍如何使用Docker来构建一个高效而简便的并行计算环境。
Docker是一种轻量级的虚拟化技术,能够将应用及其依赖打包并运行在隔离的容器中。
借助于Docker,我们能够轻松地创建、部署和管理各种应用。
对于并行计算环境的构建,Docker提供了强大的功能和灵活性。
下面将详细介绍如何使用Docker构建一个并行计算环境。
首先,我们需要定义一个基础镜像,其中包括了我们所需的计算库和软件环境。
可以选择一个已有的基础镜像,如Ubuntu、CentOS等,并在其基础上安装所需的软件。
例如,如果我们需要使用Python进行计算,可以通过以下命令安装Python及相关依赖:```dockerfileFROM ubuntu:latestRUN apt-get update && apt-get install -y python3 python3-pip```接下来,我们可以使用Dockerfile构建自定义的镜像。
在Dockerfile中,我们可以定义各种操作,如复制文件、运行命令等。
例如,如果我们需要将计算所需的数据文件复制到镜像中,可以使用以下命令:```dockerfileCOPY data /app/data```此外,我们还可以在Dockerfile中定义环境变量、工作目录等。
通过这些操作,我们可以灵活地配置并行计算环境。
构建完镜像后,我们就可以使用Docker来运行并行计算任务了。
通过以下命令,我们可以在容器中启动计算任务:```shelldocker run -it my_image python3 my_script.py```在运行容器时,我们可以指定容器中的资源限制,如CPU和内存的限制。
如何在Docker容器中安装和配置Java环境在当今的软件开发领域中,Java语言因其跨平台、可移植性和强大的生态系统而被广泛应用。
而Docker作为一种容器化技术,在应用的打包、分发和部署方面提供了极大的便利性。
本文将为您介绍如何在Docker容器中安装和配置Java环境。
一、为何选择Docker容器在传统的软件开发过程中,开发人员常常面临着“在不同的环境中部署应用”的难题。
尤其是Java应用,不同的操作系统和版本可能会导致运行时的兼容性问题。
而Docker容器技术提供了一种解决方案。
通过将应用与其所需的环境一同打包成一个容器,应用的部署过程变得简单、可靠且一致。
不再需要担心因为环境差异而导致应用无法正常运行的问题。
二、安装Docker在开始之前,首先需要在您的计算机上安装Docker。
具体的安装方法可以参考Docker的官方文档,并根据您所使用的操作系统选择对应的安装方式。
安装完成后,可以通过运行`docker version`命令来检查是否安装成功。
三、选择合适的Java版本Java有多个版本可供选择,您可以根据自己的需求选择合适的Java版本。
不同的Java版本可能会有略微不同的安装和配置方法。
本文将以Java 8为例,介绍在Docker容器中安装和配置Java环境的步骤。
四、创建DockerfileDockerfile是用于定义Docker镜像的文本文件。
在开始创建Docker镜像之前,我们需要先创建一个名为Dockerfile的文件,并在其中编写相关配置。
一般而言,一个常见的Dockerfile包含以下几个关键步骤:1.选择一个基础镜像:根据您的需求选择一个适合的基础镜像,比如Ubuntu、Alpine等。
2.更新镜像:运行`apt-get update`等命令来更新镜像内的软件包列表。
3.安装Java:根据您选择的Java版本,在Dockerfile中添加相应的安装命令。
比如,对于Java 8,可以使用如下命令:```RUN apt-get install -y openjdk-8-jdk```4.设置环境变量:为了方便使用Java,可以设置JAVA_HOME和PATH环境变量。
实验一:Docker 安装配置1. 简介本实验旨在帮助您了解如何安装和配置Docker,以便在您的计算机上运行化应用程序。
2. 安装Docker2.1 Windows系统- 在安装过程中,选择默认选项并接受许可协议。
- 安装完成后,您需要重启计算机以使Docker启动。
2.2 macOS系统- 在安装过程中,选择默认选项并接受许可协议。
- 安装完成后,您需要点击启动台中的Docker图标以启动Docker。
2.3 Linux系统- 访问网站上的"Docker安装指南"页面。
- 找到适合您Linux发行版的安装指南,并按照指南中的步骤操作。
3. 配置Docker安装完成后,您需要进行一些配置以确保Docker正常运行。
3.1 Windows系统和macOS系统- 打开命令行终端(Windows系统为PowerShell,macOS系统为终端)。
- 输入命令"docker version"并按下Enter键,确保Docker已成功安装。
- 输入命令"docker run hello-world"并按下Enter键,验证Docker是否能够正常运行。
3.2 Linux系统- 打开终端。
- 输入命令"sudo docker version"并按下Enter键,确保Docker已成功安装。
- 输入命令"sudo docker run hello-world"并按下Enter键,验证Docker是否能够正常运行。
4. 总结通过完成本实验,您应该已经成功安装和配置了Docker。
现在,您可以开始在您的计算机上运行化应用程序了。
请注意,本文档仅提供了安装和配置Docker的基本步骤,更详细的使用方法和命令请参考Docker官方文档。
如何使用Docker构建容器化的虚拟桌面环境随着计算机技术的不断发展,人们对于虚拟化技术的需求也越来越高。
虚拟桌面环境,作为一种广泛应用于企业和个人用户之间的技术,可以提供更加高效、灵活和安全的工作环境。
使用Docker构建容器化的虚拟桌面环境已经成为一种行之有效的解决方案。
一、Docker简介Docker是一种容器化技术,通过将应用程序和其依赖的库、配置文件等打包成一个独立的可执行单元,实现了跨平台、轻量级、快速部署和可伸缩的特性。
Docker容器可以运行在各种操作系统上,无需考虑底层系统差异。
二、构建Docker虚拟桌面环境的步骤1.安装Docker环境首先,需要在主机系统上安装Docker。
根据不同的操作系统,可以选择不同的安装方式。
在安装完成后,通过运行"Docker version"命令,可以验证Docker是否成功安装。
2.选择基础镜像在构建Docker虚拟桌面环境时,需要选择一个基础镜像作为容器的基础。
常用的基础镜像有Ubuntu、Debian等。
可以通过Docker Hub等镜像仓库来查找和选择合适的基础镜像。
3.创建DockerfileDockerfile是一个文本文件,用于描述如何构建Docker镜像。
可以通过编辑Dockerfile来配置虚拟桌面环境的配置和依赖项。
其中包括安装必要的软件和配置文件等。
4.构建镜像通过运行"Docker build"命令,可以根据Dockerfile构建自定义的镜像。
该命令会读取Dockerfile中的指令,并在基础镜像的基础上构建新的镜像。
构建过程可能需要一些时间,取决于所需安装的软件和依赖项。
5.运行容器构建完成后,使用"Docker run"命令来运行容器。
在运行容器时,可以指定容器的名称、端口映射、数据卷等配置项。
这些配置项可以根据具体需求进行设置。
6.配置远程访问默认情况下,Docker容器是运行在本地主机上的,只能通过本地访问。
Docker容器网络配置及使用方法详解Docker是一种流行的容器化平台,其强大的网络功能为开发和部署应用程序提供了便捷和灵活的解决方案。
在本文中,我们将详细介绍Docker容器的网络配置和使用方法。
一、Docker网络模式Docker提供了多种网络模式,以满足各种不同的需求。
常见的网络模式包括:1. 桥接网络(Bridge):这是默认网络模式,它通过在Docker主机上创建一个网络桥接接口来实现容器之间的通信。
每个容器都可以分配一个唯一的IP地址,并使用容器名称进行互相访问。
2. 主机网络(Host):使用主机网络模式,容器将直接使用宿主机的网络接口,与宿主机共享相同的IP地址。
这样可以避免网络层次化结构带来的性能损失,但容器之间的端口号必须唯一。
3. 网络代理(Overlay):通过在多个Docker主机之间创建网络隧道,容器可以在不同的主机上实现互联互通。
这种模式适用于分布式系统和集群环境。
二、容器网络配置1. 创建容器要创建一个容器,可以使用以下命令:```docker run --name mycontainer -d nginx```此命令将在后台运行一个名为mycontainer的容器,并使用nginx镜像。
2. 连接容器要连接到容器中的特定网络,可以使用以下命令:```docker exec -it mycontainer bash```这将以交互模式进入正在运行的容器,并启动一个bash终端。
3. 查看容器网络信息要查看容器的网络信息,可以使用以下命令:```docker inspect mycontainer```该命令将返回一些关于容器网络配置的详细信息,包括IP地址、网关、DNS 等。
三、容器之间的通信1. 使用容器名称进行通信在桥接网络中,容器可以使用其名称进行通信。
例如,如果有两个容器分别为container1和container2,可以在container1中使用以下命令来访问container2:```ping container2```这将通过容器名称解析container2的IP地址,并进行ping测试。
利⽤docker快速搭建服务器环境1.安装docker1.安装Linux虚拟机1.VMWare、VirtualBox(选择这个轻量级虚拟机);安装包版本:VirtualBox-6.1.4-136177-Win.exe2.安装Linux系统Linux系统版本:CentOS-6.8-x86_64-bin-DVD1.iso视频讲解使⽤CentOS7,相对于7,6的配置相对⿇烦⼀些docker对Linux系统内核有要求,⾄少 3.10 以上升级CentOS6内核---------------------------centos6升级系统内核--------------------------------------------1.升级系统内核查看内核版本:uname -r2.6.32-573.8.1.el6.x86_64导⼊elrepo的key:rpm --import https:///curl 报ssl错误,解决办法:yum update -y nss curl libcurl openssh安装elrepo.repo:rpm -Uvh https:///elrepo-release-6-8.el6.elrepo.noarch.rpm安装内核:(安装最新版内核)yum --enablerepo=elrepo-kernel -y install kernel-ml(安装长期稳定版内核)yum --enablerepo=elrepo-kernel -y install kernel-lt修改grub.conf⽂件:vim /etc/grub.conf --> default=0重启服务器查看内核:rebootuname -r4.4.162-1.el6.elrepo.x86_64--------------------------------------------------------------------------------------3.虚拟机⽹络设置(主机连接虚拟机,虚拟机通过主机连接外⽹);1.查看windows⽹络适配器,VirtualBox Host-Only Network,将Ip设置为⾃动获取虚拟机获取到的IP通常会是192.168.56....2.VirtualBox需要设置两张⽹卡;⽹卡⼀,⽹卡⼀也可以调整为“桥接⽹卡”,连接⽅式选择”⽹线“或者”WiFi“;⽹卡⼆3.Linux系统的IP查询ip addr4.使⽤客户端连接虚拟机上的Linux服务器进⾏命令操作;2.docker安装安装docker(CentOS6.8)-------------------安装docker------------------------------------------------#安装docker(CentOS6.8)1.要求系统为64位、系统内核版本为 3.10 以上,可以使⽤以下命令查看uname -r2、⽤yum源安装2.1 查看是否已安装docker列表yum list installed | grep docker2.2 安装dockeryum -y install docker-y表⽰不询问安装,直到安装成功,安装完后再次查看安装列表2.2.1.yum没有找到docker包,更新epel第三⽅软件库,运⾏命令:sudo yum install epel-release之后运⾏安装dockeryum install https:///rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1.el7.x86_64.rpm #启动/停⽌docker[root@localhost /]# service docker startStarting docker: [确定][root@localhost /]# service docker stop停⽌ docker: [确定]#查看启动docker状态[root@localhost /]# service docker statusdocker (pid 2781) 正在运⾏...查看启动⽇志[root@localhost /]# tail /var/log/docker将docker加⼊开机启动[root@localhost /]# chkconfig docker on基本信息查看[root@localhost /]# docker -vdocker version:查看docker的版本号,包括客户端、服务端、依赖的Go等3.CentOS7安装虚拟机、docker相关操作1.安装后⽹络配置⽂件修改#打开⽹络配置⽂件夹cd /etc/sysconfig/network-scripts/#修改⽹络设置vi ifcfg-enp0s3⽹络设置⽂件内容TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=no#使⽤静态IPBOOTPROTO=static#BOOTPROTO=dhcpDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s3UUID=cc3f9483-cc3b-4140-b02f-6284e5cdcf39DEVICE=enp0s3#改为yesONBOOT=yes#配合静态IP设置的配置IPADDR=192.168.1.89 #设置静态IPGATEWAY=192.168.1.2 #设置⽹关NETMASK=255.255.255.0 #⼦⽹掩码DNS1=192.168.8.8 #设置主DNSDNS2=192.168.4.4 #设置备DNS虚拟机系统静态IP配置的依据:根据电脑的⽹络设置信息进⾏配置配置静态IP后,如果不能连接外⽹,则需要额外设置dnsvi /etc/NetworkManager/NetworkManager.conf#找到NetworkManager.conf⽂件,修改⽂件,增加:dns=nonecat /etc/resolv.conf#查看resolv.conf⽂件是否有ifcfg-enp0s3中的dns配置,没有的话需要增加# Generated by NetworkManagernameserver 192.168.8.8nameserver 192.168.4.42.VirtualBox需要设置⼀张⽹卡⽹卡⼀调整为“桥接⽹卡”,连接⽅式选择”⽹线“或者”WiFi“;3.安装docker(CentOS7)#安装docker(CentOS7)1.要求系统为64位、系统内核版本为 3.10 以上,可以使⽤以下命令查看uname -r2、⽤yum源安装2.1 查看是否已安装docker列表yum list installed | grep docker2.2 安装dockeryum -y install docker-y表⽰不询问安装,直到安装成功,安装完后再次查看安装列表#查看Docker版本。
利用Docker构建容器化的iOS开发环境使用Docker构建容器化的iOS开发环境随着移动应用的快速发展,iOS开发变得越来越受欢迎。
然而,搭建iOS开发环境可能会遇到一些挑战,例如软件依赖关系、版本冲突以及环境配置等等。
为了解决这些问题,许多开发者开始使用Docker来构建容器化的iOS开发环境。
本文将介绍如何利用Docker构建这样一个环境,并探讨它的优势和用途。
首先,让我们了解一下Docker是什么。
Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包到一个像容器一样的独立单元中。
这些容器可以在任何支持Docker的平台上运行,而无需担心因为不同的环境导致的问题。
在iOS开发中,Docker可以帮助我们创建一个包含所有必要软件和工具的容器,以便我们能够在任何机器上进行开发。
构建iOS开发环境的第一步是选择一个适当的Docker镜像。
众多的Docker镜像供选择,其中一些专为iOS开发而设计。
一个流行的选择是基于Ubuntu的镜像,它已经预装了诸如Xcode、Cocoapods和Fastlane等常用工具。
通过在该镜像上构建容器,我们可以省去许多繁琐的配置步骤。
一旦我们选择了合适的镜像,我们可以使用Dockerfile来定义容器的配置。
Dockerfile是一个纯文本文件,其中包含了一系列指令,告诉Docker如何构建我们的容器。
下面是一个示例Dockerfile:```FROM ubuntu:latestRUN apt-get update && apt-get install -y xcodeRUN gem install cocoapodsRUN gem install fastlane```在上面的示例中,我们首先指定了基础镜像为最新版本的Ubuntu,然后使用apt-get安装了Xcode。
接下来,我们使用gem指令安装了Cocoapods和Fastlane。
Docker容器环境搭建前言Docker旨在提供一种应用程序的自动化部署解决方案,在Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。
因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是docker 最普遍的一个玩法。
更多的玩法还有大规模web 应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面VDI 等等。
主观的印象:Docker 使用Go 语言编写,用cgroup 实现资源隔离,容器技术采用LXC. 提供了能够独立运行Unix进程的轻量级虚拟化解决方案。
它提供了一种在安全、可重复的环境中自动部署软件的方式有关实现原理、相关理论、运用场景等,会在本系列后面书写,这里先来一个浅尝辄止,完全手动,基于Docker搭建一个Tomcat运行环境。
先出来一个像模像样Demo,可以见到效果,可能会让我们走的更远一些。
环境本文所有环境,VMware WorkStation上运行ubuntu-13.10-server-amd64,注意是64位系统,理论上其它虚拟机也是完全可行的。
安装DockerDocker 0.7版本需要linux内核3.8支持,同时需要AUFS文件系统。
# 检查一下AUFS是否已安装sudo apt-get updatesudo apt-get install linux-image-extra-`uname -r`# 添加Docker repository keysudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"# 添加Docker repository,并安装Dockersudo sh -c "echo deb http://get.docker.io/ubuntu docker main >/etc/apt/sources.list.d/docker.list"sudo apt-get updatesudo apt-get install lxc-docker# 检查Docker是否已安装成功sudo docker version# 终端输出Client version: 0.7.1Go version (client): go1.2Git commit (client): 88df052Server version: 0.7.1Git commit (server): 88df052Go version (server): go1.2Last stable version: 0.7.1去除掉sud o在Ubuntu下,在执行Docker时,每次都要输入sudo,同时输入密码,很累人的,这里微调一下,把当前用户执行权限添加到相应的docker用户组里面。
# 添加一个新的docker用户组sudo groupadd docker# 添加当前用户到docker用户组里,注意这里的yongboy为ubuntu server登录用户名sudo gpasswd -a yongboy docker# 重启Docker后台监护进程sudo service docker restart# 重启之后,尝试一下,是否生效docker version#若还未生效,则系统重启,则生效sudo reboot安装一个Docker运行实例-ubuntu虚拟机Docker安装完毕,后台进程也自动启动了,可以安装虚拟机实例(这里直接拿官方演示使用的learn/tutorial镜像为例):docker pull learn/tutorial安装完成之后,看看效果docker run learn/tutorial /bin/echo hello world交互式进入新安装的虚拟机中docker run -i -t learn/tutorial /bin/bash会看到:root@51774a81beb3:/#说明已经进入交互式环境。
安装SSH终端服务器,便于我们外部使用SSH客户端登陆访问apt-get updateapt-get install openssh-serverwhich sshd/usr/sbin/sshdmkdir /var/run/sshdpasswd #输入用户密码,我这里设置为123456,便于SSH客户端登陆使用exit #退出获取到刚才操作的实例容器ID#docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES51774a81beb3 learn/tutorial:latest /bin/bash 3 minutes ago Exit 0 thirsty_pasteur可以看到当前操作的容器ID为:51774a81beb3。
注意了,一旦进行所有操作,都需要提交保存,便于SSH登陆使用:docker commit 51774a81beb3 learn/tutorial以后台进程方式长期运行此镜像实例:这种方法对现行ubuntu已经不适用了,sshd的开启不能用下面参数docker run -d -p 22 -p 80:8080 learn/tutorial /usr/sbin/sshd -Dubuntu容器内运行着的SSH Server占用22端口,-p 22进行指定。
-p 80:8080 指的是,我们ubuntu将会以8080端口运行tomcat,但对外(容器外)映射的端口为80。
这时,查看一下,是否成功运行。
#docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES871769a4f5ea learn/tutorial:latest /usr/sbin/sshd -D About a minute ago Up About a minute0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focused_poincare注意这里的分配随机的SSH连接端口号为49154:ssh root@127.0.0.1 -p 49154输入可以口令,是不是可以进入了?你一旦控制了SSH,剩下的事情就很简单了,安装JDK,安装tomcat等,随你所愿了。
以下为安装脚本:# 在ubuntu 12.04上安装oracle jdk 7apt-get install python-software-properties software-properties-commonadd-apt-repository ppa:webupd8team/javaapt-get updateapt-get install -y wgetapt-get install oracle-java7-installerjava -version# 下载tomcat 7.0.47wget /apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz # 解压,运行tar xvf apache-tomcat-7.0.47.tar.gzcd apache-tomcat-7.0.47bin/startup.sh默认情况下,tomcat会占用8080端口,刚才在启动镜像实例的时候,指定了-p 80:8080,ubuntu镜像实例/容器,开放8080端口,映射到宿主机端口就是80。
知道宿主机IP地址,那就可以自由访问了。
在宿主机上,通过curl测试一下即可:curl http://192.168.190.131当然,你也可以使用浏览器访问啦。
真实情况,可能不会让tomcat直接对外开放80端口,一般都会位于nginx/apache或者防火墙的后面,上面仅为演示。
小结在Docker帮助下搭建一个Tomcat运行时环境,总体很简单,让我们看到了PAAS的身影。
不错,使用Docker作为PAAS底层服务,本身就不复杂。
其他创建容器例子:a.创建容器,机器名(-h),容器名(--name=),影像文件为centos2docker run -t -i -p 2228:22 -p 8085:8080 -h wei --name="wei" centos2 /bin/bashb.查看曾经运行的容器(如果没有-a则表示目前正在运行的容器)docker ps –ac.放到后台运行 (-d),暴露给主机接口(-p)docker run -t -d -i -p 2229:22 -p 8086:8080 learn/tutorial /bin/bashdocker run -t -d -i -p 2229:22 -p 8086:8080 -h wei123 --name="wei123" centos2 /bin/bash docker run -d -p 2230:22 -p 8087:8080 learn/tutorial /usr/sbin/sshd -Dd.修改指定容器到影像文件docker commit 7a83af8e971c learn/tutoriale.启动容器docker start 容器IDf.停止容器docker stop 容器IDg.连接到容器docker attach 容器IDh.查看当前所有影像列表docker imageshttp://linmingren.me/blog/2013/08/%E5%9C%A8docker%E9%87%8C%E8%BF%90%E8%A1%8Ct omcat/安装docker上的tomcat测试先装javaapt-get install software-properties-commonadd-apt-repository ppa:webupd8team/javaapt-get updateapt-get install git curl wget oracle-java7-installerjava可以在官方网站下载,比如jdk.1.6.0_38也就是6u38https:///download.html然后下载和启动tomcatwget /tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gztar -zxvf apache-tomcat-7.0.55.tar.gzcd apache-tomcat-7.0.55./bin/catalina.sh start在rc.local里加入/apache-tomcat-7.0.55/bin/catalina.sh start172.17.0.3我们前面的操作都是在一台机器上搞的,能不能把我们的镜像导出给别人用呢,当然是行的,不然搞这东西有啥用呢先导出到一个压缩文件中docker export 7bb45938deb2 > docker_tomcat.tar把这个文件复制到另外机器上,然后导入,这样在那台机器就有个一个叫tomcat2的镜像,用docker run来启动它就行了。