zoukankan      html  css  js  c++  java
  • Dockerfile

    运行一个ubuntu容器

    docker run -i -t ubuntu /bin/bash

    备份apt源

    cp /etc/apt/sources.list /etc/apt/sources.list.bak

    修改apt源

    vi /etc/apt/sources.list

    替换所有源为sohu源

    deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse

    或网易源

    deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

    修改保存后退出运行的容器

    exit

    查看最后一个运行的容器

    docker ps -l

    提交本次修改的镜像为 ubuntu/sohu

    docker commit 698 ubuntu/sohu

    使用修改后源的镜像做Dockerfile

    # VERSION 0.0.1
    
    FROM ubuntu/sohu
    
    MAINTAINER myemail "myemail@gmail.com"
    
    RUN apt-get update
    RUN apt-get install -y openssh-server
    RUN mkdir -p /var/run/sshd

    RUN
    echo "root:123456" | chpasswd
    #RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
    RUN sed -i "s/UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
    RUN apt-get install python-software-properties 
    RUN add
    -apt-repository ppa:webupd8team/java
    RUN apt
    -get update
    RUN apt
    -get install -y vim wget curl oracle-java7-installer tomcat7
    RUN update
    -alternatives --display java
    RUN
    echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle">> /etc/environment
    RUN
    echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle">> /etc/default/tomcat7

    EXPOSE
    22
    EXPOSE
    8080

    ENTRYPOINT service tomcat7 start
    && /usr/sbin/sshd -D

    需要注意:

    1. ENTRYPOINT,表示镜像在初始化时需要执行的命令,不可被重写覆盖,需谨记
    2. CMD,表示镜像运行默认参数,可被重写覆盖
    3. ENTRYPOINT/CMD都只能在文件中存在一次,并且最后一个生效 多个存在,只有最后一个生效,其它无效!
    4. 需要初始化运行多个命令,彼此之间可以使用 && 隔开,但最后一个须要为无限运行的命令,需切记!

    构建镜像

    #. 代表Dockerfile在当前路径下
    docker build -t shawn/ssh .

    启动新建的容器

     docker run -d -p 22 -p 8080:8080 saint/ssh

     登录ssh镜像

    docker ps -a
    
    CONTAINER ID        IMAGE                 COMMAND                CREATED             STATUS                      PORTS                   NAMES
    789c45a53c6f        shawn/ssh:latest      "/bin/sh -c '/usr/sb   8 seconds ago       Up 7 seconds                0.0.0.0:49153->22/tcp   furious_pare        
    eb738292efd9        ubuntu/ssh:latest     "/bin/bash"            6 minutes ago       Exited (0) 5 minutes ago                            focused_yonath      
    4a714065db9a        ubuntu/proxy:latest   "/bin/bash"            15 minutes ago      Exited (0) 7 minutes ago                            boring_goldstine    
    28491e2dec96        ubuntu:latest         "/bin/bash"            2 hours ago         Exited (2) 17 minutes ago                           berserk_fermat      
    4f23b24e247a        6311975ede96          "/bin/sh -c 'apt-get   2 hours ago         Exited (100) 2 hours ago                            sleepy_lalande 

    登录容器

    ssh root@127.0.0.1 -p 49153

    停止所有容器

    docker stop $(docker ps -a -q)

    Dockerflie run tomcat

    #tomcat java7 installed
    FROM saint/java
    
    MAINTAINER saintaxl "saintaxl@gmail.com"
    
    VOLUME ["/opt"]
    
    EXPOSE 8080
    
    ENV JAVA_HOME /usr/local/jdk1.7.0_67
    
    ENTRYPOINT /usr/local/tomcat7/bin/startup.sh && tail -f /usr/local/tomcat7/logs/catalina.out

    构建镜像

    docker build -t saint/runtomcat .

    运行容器

    #前台运行
    docker run --rm -p 8080 saint/runtomcat
    #后台运行
    docker run -d -p 8080:8080 saint/runtomcat

    浏览器访问

    #宿主机IP:端口
    http://192.168.124.129:8080/

    http://www.blogjava.net/yongboy/archive/2013/12/16/407643.html

    Dockerfile 命令解释

    http://blog.tankywoo.com/docker/2014/05/08/docker-2-dockerfile.html

    Docker 笔记

    http://fann.im/blog/2014/02/11/docker-notes/

    查找apt软件

    apt-cache search tomcat
  • 相关阅读:
    Robocode教程4——Robocode的游戏物理
    JAVA:获取系统中可用的字体的名字
    Robocode游戏规则
    Robocode教程2——你的第一个robo,取个好名字哦
    Robocode教程1——安装、运行、配置
    第二十四章 异常和错误处理 6异常类与模板的关系 简单
    第二十四章 异常和错误处理 5异常类的虚函数 简单
    第二十三模板 18.4算法类 简单
    解决不能通过'/tmp/mysql.sock'连到服务器 简单
    第二十四章 异常和错误处理 4创建异常类的成员函数 简单
  • 原文地址:https://www.cnblogs.com/saintaxl/p/3987432.html
Copyright © 2011-2022 走看看