Docker Commands
Docker Commands
安装,以Ubuntu 14.04.3为例
apt-get install docker.io
注意安装之前需要更新系统
列出曾经存在的容器
docker ps -a
列出正在执行的容器
docker ps
查看docker信息
docker info
查看宿主机上的镜像,Docker镜像保存在/var/lib/docker
docker images
从Docker hub 下载镜像
docker pull ubuntu:latest
docker pull ubuntu:12.04 //即从注册服务器registry.hub.docker.com 中的 ubuntu 仓库来下载标记为 12.04 的镜像
启动一个容器
docker run -i -t busybox /bin/bash //busybox 是 镜像<8c2e06607696>的的repository
docker run -i -t 8c2e06607696 /bin/sh //<8c2e06607696>是镜像
image 列表举例:
root@client:/home/andy# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE master:5000/busybox latest 8c2e06607696 4 months ago 2.433 MB busybox latest 8c2e06607696 4 months ago 2.433 MB
那么 镜像的 repository
是怎么来的呢?
对于仓库 master:5000/busybox 来说,master:5000是注册服务器的地址,busybox是仓库名。
启动或停止某个container
docker start/stop container_id
可以将container的变化作为一个新的镜像??
docker commit
在Dockerfile所在目录执行docker build创建镜像
docker build -t docker_test .
创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个。
使用 docker commit 来扩展一个镜像比较简单,但它不容易在一个团队中分享它。我们可以使用 docker
build 来创建一个新的镜像。为此,首先需要创建一个 Dockerfile,包含一些如何创建镜像的指令。
Dockerfile 基本的语法是:
使用 # 来注释
FROM 指令告诉 Docker 使用哪个镜像作为基础
接着MAINTAINER是维护者的信息
RUN 开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get 来安装了一些软件
利用 ADD 命令复制本地文件到镜像
用 EXPOSE 命令来向外部开放端口
用 CMD 命令来描述容器启动后运行的程序
将制作的镜像上传到private registry
docker tag test docker.example.com/test //docker tag 命令来修改镜像的标签 docker tag 5db5f8471261 ouruser/sinatra:devel
docker push docker.example.com/test
启动本地 Registry
docker run \
-e SETTINGS_FLAVOR=dev \ #basic configuration using the local flavor
-e STORAGE_PATH=/registry \
-p 5000:5000 \
registry
或者
docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry -p 5000:5000 registry
如果本地没有拉取过docker-registry
,则首次运行会pull registry
,运行时会映射路径和端口,以后就可以从/opt/data/registry
下找到私有仓库都存在哪些镜像,通过主机的哪个端口可以访问。
参数 -v /opt/data/registry:/tmp/registry
的作用是实现存储持久化。上面的例子中,上传的镜像将放到/opt/data/registry
目录。
问题
- 如何将创建的image上传到自己私有的registry?
- 怎么理解docker images的第一个列:REPOSITORY??
Docker Commands的更多相关文章
- useful commands for docker beginner
You may want to add my wechat public account or add my technical blog's RSS feed This list is meant ...
- Install Docker on Ubuntu
Install Docker on Ubuntu Estimated reading time: 17 minutes Docker is supported on these Ubuntu oper ...
- Install Docker on Mac OS X(转)
Install Docker on Mac OS X You can install Docker using Boot2Docker to run docker commands at your c ...
- docker offical docs:Working with Containers
enough ---------------------------------------------------------------------------------- Working wi ...
- 【微服务轻量化容器技术相关】同事分享的Docker学习汇总
还没时间去练习: Docker commands: docker images (list all image on this host) docker ps -a ( list all contai ...
- Docker 命令(二)
Docker 入门 启动docker systemctl start docker 帮助命令 docker --help docker [Commands] --help 例:docker run ...
- Docker - 在Ubuntu16.04中安装Docker CE
Get Docker for Ubuntu Check system version root@Ubuntu16:~# uname -a Linux Ubuntu16 4.8.0-36-generic ...
- Docker And Swarm Mode(一)
(一)节点的创建和配置 前言 虽然工作中一直在用Docker和Docker Swarm,但是总感觉有点陌生,总想自己亲手来写写和配置Docker 容器相关的事情,这篇文章主要是参考了Los Tech ...
- Docker教程:dokcer machine的概念和安装
http://blog.csdn.net/pipisorry/article/details/50920982 Docker machine介绍 做为Docker容器集群管理三剑客之一的Docker ...
随机推荐
- 前端基础:JavaScript DOM对象
JavaScript DOM对象 通过HTML DOM,可以访问JavaScript HTML文档的所有元素. 一.HTML DOM(文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(D ...
- 【OpenGL】使用FreeType库加载字体并在GL中绘制文字
FreeType用起来比较麻烦,这里写了一份简单的示例代码,仅供参考. 实现了FT库生成字符位图,并上传到GL纹理. 实现了字符位图缓存功能,多个字符图像保存在同一个纹理中. 实现了简单的字体管理框架 ...
- C++解析(3):布尔类型与三目运算符
0.目录 1.布尔类型 2.三目运算符 3.小结 1.布尔类型 C++中的布尔类型: C++在C语言的基本类型系统之上增加了bool C++中的bool可取的值只有true和false 理论上bool ...
- bzoj3173
Description 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.每插入一个数字,我们都想知道此时最长上升子序列长度是多少? Input 第一行一 ...
- msf下的LNK漏洞(CVE-2017-8464)利用
0x01 前言 RCE漏洞存在于Windows处理LNK文件的环节.攻击者利用漏洞可以获得与本地用户相同的用户权限.被使用此漏洞攻击时,用户权限较少的账户相较管理员权限的用户受到的影响更小. 攻击者可 ...
- POJ.3894 迷宫问题 (BFS+记录路径)
POJ.3894 迷宫问题 (BFS+记录路径) 题意分析 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, ...
- 解题:POI 2009 TAB
题面 这也算是个套路题(算吗)?发现换来换去每行每列数的组成是不变的,那么就把每行每列拎出来哈希一下,复杂度$O(Tn^2log$ $n)$有点卡时=.=. 然而正解似乎不需要哈希,就像这样↓ ;i& ...
- 【翻译】InterlockedIncrement内部是如何实现的?
Interlocked系列函数可以对内存进行原子操作,它是如何实现的? 它的实现依赖于底层的CPU架构.对于某些CPU来说,这很简单,例如x86可以通过LOCK前缀直接支持Interl ...
- Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) A B C D 水 模拟 二分 贪心
A. Is it rated? time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- Adreno GPU Profiler工具使用总结
Adreno Profiler介绍 Adreno Profiler 是高通公司开发的一款针对运行在高通骁龙处理器上用于图形和GPGPU技术应用的性能分析和帧调试工具.工具本质上是一个OpenGL ES ...