docker

      最近使用了docker一段时间,主要拿来做部署镜像,做了一个jdk tomcat maven 还有webapp的镜像,记录下主要的步骤和问题。记录部分PPT资料

       docker 的原理

        *LXC是Linux containers的简称

   *一种基于容器的操作系统层级的虚拟化技术
   *在操作系统层次上为进程提供的虚拟的执行环境,一个虚拟的执行环境就是一个容器
   *容器绑定特定的cpu和memory节点   提供独立的namespace

 

    Docker并不是LXC的替代品,Docker的底层就是使用了LXC来实现的。LXC将 Linux进程沙盒化,使得进程之间相互隔离,并且能够控制各进程的资源分配。 
在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
 启动容器
    
写道
       [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 以后台模式运行,运行后进入容器
写道
       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
   上传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>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值