最近使用了docker一段时间,主要拿来做部署镜像,做了一个jdk tomcat maven 还有webapp的镜像,记录下主要的步骤和问题。记录部分PPT资料
docker 的原理
*LXC是Linux containers的简称
*一种基于容器的操作系统层级的虚拟化技术
*在操作系统层次上为进程提供的虚拟的执行环境,一个虚拟的执行环境就是一个容器
*容器绑定特定的cpu和memory节点 提供独立的namespace
Docker并不是LXC的替代品,Docker的底层就是使用了LXC来实现的。LXC将Linux进程沙盒化,使得进程之间相互隔离,并且能够控制各进程的资源分配。
在LXC的基础之上,Docker提供了一系列更强的功能
在LXC的基础之上,Docker提供了一系列更强的功能
1 首先安装docker ,系统支持
*支持linux
*支持osx ,需要Boot2Docker
*支持Windows ,通过虚拟机或者cygwin实现
*安装在64位的linux 系统上,cpu架构也要求64位安装前查看系统信息 :uname –a
*对于 CentOS 6.5 而言,内核版本默认是 2.6。首先,可通过以下命令安装最新内核:
*rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
*rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
*yum -y --enablerepo=elrepo-kernel install kernel-lt 随后,编辑以下配置文件:
*vi /etc/grub.conf 将default=1修改为default=0。
*最后,通过reboot命令重启操作系统。
修改为阿里云的库:
*# /etc/sysconfig/docker
*#
*# Other arguments to pass to the docker daemon process
*# These will be parsed by the sysv initscript and appended
*# to the arguments list passed to docker -d
*
other_args="--insecure-registry=registry.mirrors.aliyuncs.com" 启动查看版本
制作Image
编辑dockerfile
[root@iZ23o6ei9mjZ docker]# more Dockerfile FROM centos MAINTAINER chenhua@ancun.com #Make java and tomcat install directory RUN mkdir -p /home/dockerimage/docker/sitwebimage/maven/ RUN mkdir -p /home/dockerimage/docker/sitwebimage/java/ RUN mkdir -p /home/dockerimage/docker/sitwebimage/tomcat/ RUN mkdir -p /home/dockerimage/docker/sitwebimage/code/ RUN mkdir -p /home/dockerimage/docker/sitwebimage/fileupload/ #Copy jre and tomcat into image ADD ./apache-maven-3.1.1 /home/dockerimage/docker/sitwebimage/maven/ ADD ./jdk1.7.0_79 /home/dockerimage/docker/sitwebimage/java/ ADD ./apache-tomcat-7.0.70 /home/dockerimage/docker/sitwebimage/tomcat/ ADD ./start_tomcat.sh /home/dockerimage/docker/sitwebimage/start_tomcat.sh ADD ./testcase /home/dockerimage/docker/sitwebimage/code/ #Expose http port EXPOSE 8087然后编译
写道
[root@iZ23o6ei9mjZ dockerimage]# docker build -t tomcatweb -f dockfile .
Sending build context to Docker daemon 162.4 MB
Sending build context to Docker daemon
Step 0 : FROM ubuntu
latest: Pulling from ubuntu
4d330285ec99: Pull complete
497dd7934d13: Pull complete
bca38844f775: Pull complete
e711979f32e2: Pull complete
f38e3ca2b73a: Pull complete
103d358b91a9: Pull complete
Digest: sha256:e82b2d87a36844fa95cddb478805baa1fbea32cd4ded772a89a7ea42e8cd1a72
Status: Downloaded newer image for ubuntu:latest
启动容器Sending build context to Docker daemon 162.4 MB
Sending build context to Docker daemon
Step 0 : FROM ubuntu
latest: Pulling from ubuntu
4d330285ec99: Pull complete
497dd7934d13: Pull complete
bca38844f775: Pull complete
e711979f32e2: Pull complete
f38e3ca2b73a: Pull complete
103d358b91a9: Pull complete
Digest: sha256:e82b2d87a36844fa95cddb478805baa1fbea32cd4ded772a89a7ea42e8cd1a72
Status: Downloaded newer image for ubuntu:latest
写道
[root@iZ23o6ei9mjZ ~]# docker run -i -t –d –p 8087:8087 -v /home/dockerimage/docker/webapps:/webapps/ sitwebimage2 /bin/bash
docker run:启动container
ubuntu:你想要启动的image
-t:进入终端
-i:获得一个交互式的连接,通过获取container的输入
/bin/bash:在container中启动一个bash shell
-d 以后台模式运行,运行后进入容器docker run:启动container
ubuntu:你想要启动的image
-t:进入终端
-i:获得一个交互式的连接,通过获取container的输入
/bin/bash:在container中启动一个bash shell
写道
1:使用docker attach命令
我们使用
docker attach db3 或者 docker attach d48b21a7e439
db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID
然后就进去了这个容器的ssh界面。
但是它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行
2:使用docker exec命令
这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下
docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 /bin/sh
这个时候试着访问下tomcat我们使用
docker attach db3 或者 docker attach d48b21a7e439
db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID
然后就进去了这个容器的ssh界面。
但是它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行
2:使用docker exec命令
这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下
docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 /bin/sh
上传Image 到dockerhub
写道
step1——找到本地镜像的ID:docker images
step2——登陆Hub:docker login --username=username --password=password --email=email
step3——tag:docker tag <imageID> <namespace>/<image name>:<version tag eg latest>
step4——push镜像:docker push <namespace>/<image name>
step2——登陆Hub:docker login --username=username --password=password --email=email
step3——tag:docker tag <imageID> <namespace>/<image name>:<version tag eg latest>
step4——push镜像:docker push <namespace>/<image name>
相关推荐
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录...
在IT行业中,Docker和Docker Compose是两个极为重要的工具,它们在容器化应用程序部署和管理方面扮演着核心角色。本文将详细讲解如何通过二进制方式安装Docker 19.03.14及其配套的Docker Compose,并讨论它们的主要...
资源名称: Docker Desktop for Windows 10 (Docker Desktop Installer.exe) 概述: Docker Desktop for Windows 10 是一个官方提供的强大工具,它允许用户在Windows 10操作系统上轻松运行Docker容器化应用。Docker ...
Docker 离线一键安装步骤: 1. 将该目录下的docker文件夹上传至服务器任意位置: 2. 将当前目录切换至上传后的文件目录中,执行以下脚本: sh install.sh docker-19.03.9.tgz 3. 等待执行完成,即可安装完成。 该...
Docker 离线安装 MySQL 5.7 使用说明 本文将指导你如何使用离线的 Docker 镜像包 (docker-mysql-5.7.tar.zip) 来在 Linux 系统中安装并运行 MySQL 5.7 容器。 前提条件 • 已安装 Docker 环境。 • MySQL 5.7 ...
Docker在IT行业中是一款非常重要的容器化平台,它允许开发者将应用程序及其依赖打包到一个可移植的容器中,便于在各种环境中快速部署和运行。在Windows操作系统上安装Docker,可以借助Docker Desktop或者Docker ...
离线环境下,在centos7.6系统上安装docker-ce-19.03,nvidia-docker2.4版本,其中docker-ce-19.03在docker-local.tar压缩文件里面,nvidia-docker2在nvidia-docker2.zip文件中。 具体安装流程如下: 1.安装docker ...
arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构...
在IT行业中,Docker和Docker Compose是两个非常重要的工具,它们被广泛应用于容器化应用程序的部署和管理。Ubuntu是流行的Linux操作系统,它为Docker提供了良好的支持。本资源包提供的是Ubuntu 20.10.12版本上的...
Docker Desktop 是一款强大的开发工具,使开发者能够在 Windows 环境中高效构建、共享和运行容器化应用程序。它提供了一种无缝的开发体验,允许用户通过简单的图形界面和命令行工具来管理 Docker 容器和镜像。 ...
docker集成wkhtmltopdf,安装包就是封装好的镜像文件,直接解压执行就可以; -- 解压镜像包<上面安装包> docker load -- 运行docker docker run -itd -v /data/share:/data/share -m 8G --name="wkhtmltopdf" ...
安装docker 获取root 权限 su root 拷贝所有文件到 /opt/docker/ (如果没有 docker目录执行 mkdir -p /opt/docker) yum localinstall -y /opt/docker/*.rpm 安装docker-compose cd /opt/docker/ tar ...
Docker基础入门到实战 网盘文件永久连接 01.Docker基本概念和框架 01.Docker -课程介绍 02.Docker -Docker 简介 03.Docker -Docker 的基本组成 04.Docker -Docker 容器相关技术简 02.Docker的安装和部署 01.Docker...
在Windows 7上安装Docker应用通常涉及到使用Docker Toolbox,因为Docker的官方版本对Windows 7的支持有限。Docker Toolbox是一个包含了多个工具的集合,它为旧版Windows操作系统(如Win7和Win8)提供了运行Docker的...
Docker搭建SRS视频服务器 Docker 搭建 SRS(Simple Realtime Server)视频服务器是一种便捷的部署方式,利用 Docker 容器化技术可以快速实现流媒体服务环境的一键安装与运行。SRS 是一个高性能、易于扩展的实时流...
在Linux ARM64架构上,Docker和Docker Compose是两种非常重要的容器化技术工具。Docker使得应用程序可以被封装在轻量级的容器中,实现可移植性和隔离性,而Docker Compose则允许用户通过YAML配置文件来定义和运行多...
说明:在最小化CentOS Linux release 7.6.1810 中制作yum源,docker-ce是centos 7系统x86架构rpm包。 使用: 1、上传文件到/data/docker-ce解压,或者任意目录后修改docker-ce-26.1.0.repo 中baseurl路径。 2、mv ...
【标题】4.4.4版本Windows Docker是一个针对Windows操作系统的Docker容器化平台的特定版本,它提供了在Windows上运行Linux和Windows容器的能力。这个版本可能是针对4.4.4版Docker Engine进行优化和更新的,确保了在...
离线升级docker,首先制作本地yum源方式升级docker版本。以下是操作步骤,需要的安装包已压缩到包里: 首先关闭docker服务 1、手动安装repo-local-rpm里面的rpm 2、复制docker-rpm到/mnt 3、执行createrepo /mnt/...
Optimize the power of Docker to run your applications quickly and easily About This Book Learn to compose, use, and publish the Docker containers Leverage the features of Docker to deploy your ...