Docker入门命令

Edit

Docker入门命令

# 安装镜像sudo docker pull ubuntu:12.04

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

利用Dockerfile创建镜像

# 创建文件mkdir sinatracd sinatratouch Dockerfile

编辑 Dockerfile 文件

运行文件

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

ADD:复制本地文件到镜像

EXPOSE:像外部开放端口

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

1.# put my local web site in myApp folder to /var/www2.ADD myApp /var/www3.# expose httpd port4.EXPOSE 805.# 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.04MAINTAINER [email protected]RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.listRUN apt-get updateRUN apt-get upgrade -y# 安装 ssh、apache 和 supervisor

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

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

EXPOSE 22 80CMD ["/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%[email protected]%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

来自为知笔记(Wiz)

时间: 2024-10-18 12:52:27

Docker入门命令的相关文章

Docker入门教程(二)命令

Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker系列教程的第一篇文章中,我们了解了Docker的基础知识,知道了它是如何工作以及如何安装的.在这篇文章中,我们将学习15个Docker命令,并通过实践来学习它是如何工作的. 首先,让我们通过下面的命令来检查Docker的安装是否正确: docker info  如果没有找到这条命令,则表示Docke

Docker快速入门——Docker常用命令

Docker快速入门--Docker常用命令 一.Docker命令简介 1.Docker命令简介 Docker的命令清单可以通过运行sudo docker或者sudo docker help命令查看.Docker容器技术在不断演化过程中,Docker的子命令已经达到41个,其中核心子命令(例如:run)还会有复杂的参数配置.Docker命令根据功能和使用场景可以分为4个部分. 2.Docker用户组 Docker守护进程绑定的是一个unix ?socket,而不是TCP端口,默认的属主是root

Docker入门-常用命令

Docker镜像操作 Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库下载该镜像. 获取镜像 从Docker镜像仓库获取镜像的命令是docker pull.其命令格式为: docker pull [选项][Docker Registry地址[:端口号]/]仓库名[:标签] 具体的选项可以通过docker pull --help命令看到,这里我们说一下镜像名称的格式.Docker镜像仓库地址:地址的格式一般是<域名/IP>[:端口号].默认地址是Doc

Docker入门教程(一)介绍

http://dockone.io/article/101 Docker入门教程(一)介绍 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了Docker的基础概念以及Docker的安装. Docker是一个新的容器化的技术,它轻巧,且易移植,号称“build once, configure once and run anywhere(译者注:这个就不翻译了,翻译出来味道就没了)”.本文是Flux7的Docker系列教程的第一部分.请和这

Docker入门教程(四)Docker Registry

Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它是Docker中的重要组件.本文通过情景演绎的方式对其进行了介绍,图文并茂,强烈推荐读者阅读. 在Docker系列教程的上一篇文章中,我们讨论了Dockerfile的重要性并提供了一系列Dockerfile的命令,使镜像的自动构建更加容易.在这篇文章中,我们将介绍Docker的一个重要组件:Dock

Docker入门教程(七)Docker API

Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和Docker Hub API. 纵观我们的Docker系列教程,我们已经讨论了很多重要的Docker组件与命令.在本文中,我们将继续深入学习Docker:剖析Docker APIs. Docker提供了很多的API以便用户使用.这些API包含四个方面: Docker Registry API Doc

Docker入门教程(五)Docker安全

Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通过阅读本文快速了解. 我们必须高度重视开源软件的安全问题,当开发者在使用Docker时,从本地构建应用程序到生产环境部署是没有任何差异的(译者注:作者的言外之意是更应该重视Docker的安全问题).当Docker被越来越多的平台使用的时候,我们需要严格保证Docker作为一个项目或者平台的安全性.

Docker入门(1)-对镜像的操作

Docker系列参考自书籍<Docker技术入门与实战>,本博客以笔记为主. 如果转载请注明出处. -博客园:玲珑骰子安红豆 本章目录: 1.获取镜像 2.查看镜像信息 3.搜寻镜像 4.删除镜像 5.创建镜像 6.导出和载入镜像 7.上传镜像 ? ? 1.获取镜像 镜像是容器运行的前提. 从镜像仓库中拉取或者更新指定镜像 语法: Usage:????????docker pull [OPTIONS] NAME[:TAG|@DIGEST] OPTIONS: -a, --all-tags=fal

《第一本Docker》笔记(三)之Docker入门

三.Docker入门(以下运行环境是Cetos6.364bit系统上进行) 1. 创建容器 #docker run -I -t ubuntu /bin/bash -i 标志保证容器中STDIN是开启的,尽管我们并没有附着到容器中,-t 标志告诉Docker为要创建的容器分配一个伪tty终端. 附录:在执行这条指令的时候遇到以下问题: FATA[0000] Gethttp:///var/run/docker.sock/v1.17/images/search?term=ubuntu: dial un