Edit

Docker入门命令

# 安装镜像
sudo docker pull ubuntu:12.04

# 镜像列表
sudo docker images
# 运行镜像
sudo docker run -t -i ubuntu:12.04 /bin/bash
# 运行镜像,如果这个镜像不存在,则直接从仓库中下载下来 然后退出用exit
sudo docker run -t -i training/sinatra /bin/bash

利用Dockerfile创建镜像

# 创建文件
mkdir sinatra
cd sinatra
touch Dockerfile

编辑 Dockerfile 文件


运行文件

sudo docker build -t="ouruser/sinatra:v2" .

ADD:复制本地文件到镜像

EXPOSE:像外部开放端口

CMD:描述容器启动后运行的程序 例如

1.# put my local web site in myApp folder to /var/www
2.ADD myApp /var/www
3.# expose httpd port
4.EXPOSE 80
5.# the command to run
6.CMD ["/usr/sbin/apachectl","-D","FOREGROUND"]

从本地文件系统导入

sudo cat ubuntu-14.04 |docker import -ubuntu:14.04

docker 相关命令

# 删除
sudo docker rmi training/sinatra
# 从导出的本地文件再导入到本地镜像库
sudo docker load --input ubuntu_14.04.tar

实战案例

FROM ubuntu:13.04
MAINTAINER examples@docker.com
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
RUN apt-get update
RUN apt-get upgrade -y
# 安装 ssh、apache 和 supervisor

RUN apt-get install -y openssh-server apache2 supervisor
RUN mkdir -p /var/run/sshd
RUN mkdir -p /var/log/supervisor
# 创建ssh和supervisor服务这个农场运行所需要的目录
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

# 添加supervisord配置文件,并复制配置文件到对应目录

EXPOSE 22 80
CMD ["/usr/bin/supervisord"]

# supervisor 配置文件的内容
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:apache2]
command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND"
# 启动supervisor容器
sudo docker run -p 22 -p 80 -t -i test/supervisords

%23%20Docker%u5165%u95E8%u547D%u4EE4%0A%0A%60%60%60%20bash%0A%23%20%u5B89%u88C5%u955C%u50CF%0Asudo%20docker%20pull%20ubuntu%3A12.04%0A%0A%23%20%u955C%u50CF%u5217%u8868%0Asudo%20docker%20images%0A%23%20%u8FD0%u884C%u955C%u50CF%0Asudo%20docker%20run%20-t%20-i%20ubuntu%3A12.04%20/bin/bash%0A%23%20%u8FD0%u884C%u955C%u50CF%uFF0C%u5982%u679C%u8FD9%u4E2A%u955C%u50CF%u4E0D%u5B58%u5728%uFF0C%u5219%u76F4%u63A5%u4ECE%u4ED3%u5E93%u4E2D%u4E0B%u8F7D%u4E0B%u6765%20%u7136%u540E%u9000%u51FA%u7528exit%0Asudo%20docker%20run%20-t%20-i%20training/sinatra%20/bin/bash%0A%20%20%20%20%0A%60%60%60%0A%0A%23%23%20%u5229%u7528Dockerfile%u521B%u5EFA%u955C%u50CF%0A%0A%0A%60%60%60%20bash%0A%23%20%u521B%u5EFA%u6587%u4EF6%0Amkdir%20sinatra%0Acd%20sinatra%0Atouch%20Dockerfile%0A%60%60%60%0A%23%23%23%23%u7F16%u8F91%20Dockerfile%20%u6587%u4EF6%0A%0A%60%60%60%20bash%0A%0A%60%60%60%0A%23%23%23%23%u8FD0%u884C%u6587%u4EF6%0A%0A%60%60%60%20bash%0Asudo%20docker%20build%20-t%3D%22ouruser/sinatra%3Av2%22%20.%0A%60%60%60%0A%0AADD%3A%u590D%u5236%u672C%u5730%u6587%u4EF6%u5230%u955C%u50CF%0AEXPOSE%uFF1A%u50CF%u5916%u90E8%u5F00%u653E%u7AEF%u53E3%0ACMD%uFF1A%u63CF%u8FF0%u5BB9%u5668%u542F%u52A8%u540E%u8FD0%u884C%u7684%u7A0B%u5E8F%20%u4F8B%u5982%0A%0A%60%60%60%20base%0A%23%20put%20my%20local%20web%20site%20in%20myApp%20folder%20to%20/var/www%0AADD%20myApp%20/var/www%0A%23%20expose%20httpd%20port%0AEXPOSE%2080%0A%23%20the%20command%20to%20run%20%0ACMD%20%5B%22/usr/sbin/apachectl%22%2C%22-D%22%2C%22FOREGROUND%22%5D%0A%60%60%60%0A%0A%0A%23%23%23%u4ECE%u672C%u5730%u6587%u4EF6%u7CFB%u7EDF%u5BFC%u5165%0A%0A%60%60%60%20bash%0Asudo%20cat%20ubuntu-14.04%20%7Cdocker%20import%20-ubuntu%3A14.04%0A%60%60%60%0A%0A%23%23%23docker%20%u76F8%u5173%u547D%u4EE4%0A%0A%60%60%60%20bash%0A%23%20%u5220%u9664%0Asudo%20docker%20rmi%20training/sinatra%0A%23%20%u4ECE%u5BFC%u51FA%u7684%u672C%u5730%u6587%u4EF6%u518D%u5BFC%u5165%u5230%u672C%u5730%u955C%u50CF%u5E93%0Asudo%20docker%20load%20--input%20ubuntu_14.04.tar%0A%60%60%60%0A%0A%23%23%23%23%u5B9E%u6218%u6848%u4F8B%0A%0A%60%60%60%20bash%0AFROM%20ubuntu%3A13.04%0AMAINTAINER%20examples@docker.com%0ARUN%20echo%20%22deb%20http%3A//archive.ubuntu.com/ubuntu%20precise%20main%20universe%22%20%3E%20/etc/apt/sources.list%0ARUN%20apt-get%20update%0ARUN%20apt-get%20upgrade%20-y%0A%23%20%u5B89%u88C5%20ssh%u3001apache%20%u548C%20supervisor%0A%0A%0ARUN%20apt-get%20install%20-y%20openssh-server%20apache2%20supervisor%0ARUN%20mkdir%20-p%20/var/run/sshd%0ARUN%20mkdir%20-p%20/var/log/supervisor%0A%23%20%u521B%u5EFAssh%u548Csupervisor%u670D%u52A1%u8FD9%u4E2A%u519C%u573A%u8FD0%u884C%u6240%u9700%u8981%u7684%u76EE%u5F55%0ACOPY%20supervisord.conf%20/etc/supervisor/conf.d/supervisord.conf%0A%0A%23%20%u6DFB%u52A0supervisord%u914D%u7F6E%u6587%u4EF6%uFF0C%u5E76%u590D%u5236%u914D%u7F6E%u6587%u4EF6%u5230%u5BF9%u5E94%u76EE%u5F55%0A%0AEXPOSE%2022%2080%0ACMD%20%5B%22/usr/bin/supervisord%22%5D%0A%0A%23%20supervisor%20%u914D%u7F6E%u6587%u4EF6%u7684%u5185%u5BB9%0A%5Bsupervisord%5D%0Anodaemon%3Dtrue%0A%5Bprogram%3Asshd%5D%0Acommand%3D/usr/sbin/sshd%20-D%0A%5Bprogram%3Aapache2%5D%0Acommand%3D/bin/bash%20-c%20%22source%20/etc/apache2/envvars%20%26%26%20exec%20/usr/sbin/apache2%20-DFOREGROUND%22%0A%60%60%60%0A%0A%60%60%60%20bash%0A%23%20%u542F%u52A8supervisor%u5BB9%u5668%0Asudo%20docker%20run%20-p%2022%20-p%2080%20-t%20-i%20test/supervisords%0A%60%60%60%0A%0A

Docker入门命令的更多相关文章

  1. docker 入门 命令

    docker 命令 docker images 镜像列表 docker ps 服务列表 docker 隐藏打包文件 .dockerignore .git node_modules npm-debug. ...

  2. Docker 入门 --- 命令总结

    Docker命令总结 前言 命令来自于官网的get-started教程,放在这里自用 part-1 ## List Docker CLI commands docker docker containe ...

  3. Docker入门命令备份

    1.安装Docker curl -sSL https://get.docker.com/ | sh 2.将当前用户加入Docker用户组,这样就不用每次执行docker 命令时加上sudo了 3.查看 ...

  4. Docker入门教程(六)另外的15个Docker命令

    Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...

  5. Docker入门教程(二)命令

    Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...

  6. Docker 入门指南——常用命令

    前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...

  7. Docker入门以及常用命令

    目的: Docker入门 Docker简介 Centos7安装Docker Docker HelloWorld运行原理解析 阿里云镜像仓库配置 Docker常用命令 Docker基本命令 Docker ...

  8. docker入门 基础命令 docker安装

    docker入门   在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes ...

  9. docker入门资料及常用命令

      Docker17中文开发手册 :https://www.php.cn/manual/view/36147.html   Linux部署Docker及常用命令: https://www.cnblog ...

随机推荐

  1. A trip through the graphics pipeline 2011 Part 10(翻译)

    之前的几篇翻译都烂尾了,这篇希望....能好些,恩,还有往昔呢. ------------------------------------------------------------- primi ...

  2. substring()、 substr() 、slice()的区别:

    stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符.start必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObjec ...

  3. HDU1435,好开心,稳定婚姻

    费了三天,终于解决了各种BUG,PASS,好开心,这才是ACM真正的快乐,就在AC的那刻, 网上基本没甚程序,开始被各种变量名搞晕,无语!!! 有几个题目没说的东西:认为序号是1-N, 然后先排序,弄 ...

  4. js中的null VS undefined

    var a;------>undefined. JS变量的默认值.注意点在于判断变量的值为null.这是错误的.比如 if( a === null ) { // TODO; }; 实际上是und ...

  5. ASP.NET页面优化性能提升方法记录

    今天与大家分享:一种优化页面执行速度的方法.采用这个方法,可以使用页面的执行速度获得[8倍]的提升效果. 为了让您对优化的效果有个直观的了解,我准备了下面的测试结果截图: 测试环境:1. Window ...

  6. 网格导入设置 Import settings for Meshes

    原地址:http://game.ceeger.com/Components/FBXImporter-Model.html The Import Settings for a model file wi ...

  7. Sqli-labs less 50

    Less-50 从本关开始我们开始进行order by stacked injection! 执行sql语句我们这里使用的是mysqli_multi_query()函数,而之前我们使用的是mysqli ...

  8. iOS自定义发送消息输入框

    简单的封装了一个,免得麻烦直接初始化就可以用了 ,有其他需求该里面参数就行了 WJEasyInputTextView.h , CGRectGetHeight([UIScreen mainScreen] ...

  9. C++堆栈与函数调用

    一.C++程序内存分配 1)在栈上创建.在执行函数时,函数内局部变量的存储单元都在栈上创建,函数结束是,这些存储单元自动被释放.栈内存的分配运算内置于处理器的指令集中,一般采用寄存器来存取,效率很高但 ...

  10. Xcode 创建静态库和动态库

    1.linux中静态库和动态库区别: 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 静态库:这类库的名字一般是libxxx.a:利用静态函数库编译成的文件 ...