定制镜像

做个测试服务器,testServer代码如下

package main

import (
"net/http"
) func main() {
http.Handle("/", http.FileServer(http.Dir("./")))
http.ListenAndServe(":12345", nil)
}

我们的目录结构如下

$ tree
.
├── Dockerfile
└── files_to_add
└── testServer

编辑Dockerfile

From debian
RUN rm /etc/apt/sources.list
RUN echo "deb http://ftp.cn.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list
RUN echo "deb http://ftp.cn.debian.org/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list
RUN echo "deb http://ftp.cn.debian.org/debian-security/ jessie/updates main contrib non-free" >> /etc/apt/sources.list
RUN apt-get -qq update;apt-get upgrade -y;apt-get install build-essential -y; EXPOSE
ADD ./files_to_add/ /myServer
RUN chmod +x /myServer/testServer
CMD "/myServer/testServer"

根据Dockerfile建立docker镜像,由于建立完毕以后会自动运行,这里强行删除新起来的container

docker build --force-rm --tag="rico/my_server:v1" ./mydocker/

运行

docker run --name="rico_server" --rm -p : rico/my_server:v1 &
或者
docker run -d --name="rico_server" -d -p : rico/my_server:v1

打开浏览器

http://127.0.0.1:11111

看到效果

附加几个技巧

docker删除无名镜像

docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi

docker删除已停止的容器

docker rm $(docker ps -a -q)

docker退出时删除容器

docker run --rm
docker run是根据镜像启动一个新容器
docker start是根据已有的容器id启动容器

docker的例子的更多相关文章

  1. Docker NGINX 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  2. Docker Ubuntu 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  3. Docker PHP 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  4. Docker Python 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  5. Docker Java 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  6. Docker练习例子:基于 VNCServer + noVNC 构建 Docker 桌面系统

    0. 安装docker 这一步略,网上有好多教程,一般出现装不上的原因,也就是网速问题了,这个我也很难帮你. 1. 下载指定的镜像images docker pull dorowu/ubuntu-de ...

  7. 一个不错的nomad raw_exec && docker 运行例子(集成访问网关)

    github 上有一个关于nomad up && runing 不错的项目,包含了一个tomcat 应用的部署,以及基于容器运行的网关服务 项目参考地址 https://github. ...

  8. docker好文收藏

    深入浅出Docker(一):Docker核心技术预览 2. 核心技术预览 Docker核心是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观.我们从虚拟化方法的四个方面:隔离性.可配额/可度 ...

  9. 使用docker发布spring cloud应用

    本文涉及到的项目: cloud-simple-docker:一个简单的spring boot应用 Docker是一种虚拟机技术,准确的说是在linux虚拟机技术LXC基础上又封装了一层,可以看成是基于 ...

随机推荐

  1. Java-->多线程复制(文件指针)

    --> 这里用到两种方法...其实也不算两种,就一点点不一样而已... ---> Test 测试类 package com.dragon.java.multithreadcopy; imp ...

  2. iPhone 上拨号键盘的发音规律

    上个学期在信号处理课上选做的题目和这个问题正好相关. 如焕杰同学所说,iPhone拨号音是使用双音多频信号(DTMF).双音多频信号是贝尔实验室发明的,通常用于发送被叫号码,它取代了早起的脉冲拨号方法 ...

  3. viewpager中对fragment的操作

    XXAdatper xxAdapter = (XXAdatper)viewpager.getAdapter(); XXFragment  xxFragment= (XXFragment )adapte ...

  4. leetcode 132. Palindrome Partitioning II ----- java

    Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...

  5. Python文件格式化写入

    [root@localhost test]# cat 1.py fd = open('format.txt','w') head = "%10s%10s%10s\n"%('id', ...

  6. hdu1078  记忆化搜索(DP+DFS)

    题意:一张n*n的格子表格,每个格子里有个数,每次能够水平或竖直走k个格子,允许上下左右走,每次走的格子上的数必须比上一个走的格子的数大,问最大的路径和. 我一开始的思路是,或许是普通的最大路径和,只 ...

  7. 关于for,while与do while

    Q:输入一个整数i,输出i+(i+1)+...+19+20的结果 S:法1:for #include<stdio.h> #include<math.h> #include< ...

  8. Subversion服务器搭建

    如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配 ...

  9. 多网卡 指定网卡到指定IP

    route add -net 1.2.3.0/24 gw 网关 route add -host 目标IP dev eth1route add -host 目标IP gw 网关

  10. ExpressRoute

    Extending Your Network to Microsoft Azure Using ExpressRoute https://channel9.msdn.com/events/TechEd ...