cad2014安装失败win100装哪个版本的cad软

Docker关于busybox使用详解以及常用操作系统镜像说明-linux-操作系统-壹聚教程网Docker关于busybox使用详解以及常用操作系统镜像说明
下面我们来看一篇关于Docker关于busybox使用详解以及常用操作系统镜像说明,希望这篇文章能够对各位带来帮助。
busybox是一个软件工具箱,里边集成了linux中几百个常用的linux命令以及工具。很多时候我们可能需要安装一些虚拟系统包括里边配置一些环境,那么就需要下载一些操作系统镜像,比如ubuntu 、centos等等。
1,busybox镜像。
先查询镜像:
docker search& busybox
[root@niaoyun43442 yum.repos.d]# docker search busybox
INDEX&&&&&& NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DESCRIPTION&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& STARS&&&& OFFICIAL&& AUTOMATED
docker.io&& docker.io/busybox&&&&&&&&&&&&&&&&&&&&&&&& Busybox base image.&&&&&&&&&&&&&&&&&&&&&&&&&&&& 714&&&&&& [OK]&&&&&&
docker.io&& docker.io/progrium/busybox&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 62&&&&&&&&&&&&&&&&&& [OK]
docker.io&& docker.io/radial/busyboxplus&&&&&&&&&&&&& Full-chain, Internet enabled, busybox made...&& 11&&&&&&&&&&&&&&&&&& [OK]
docker.io&& docker.io/odise/busybox-python&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 3&&&&&&&&&&&&&&&&&&& [OK]
docker.io&& docker.io/azukiapp/busybox&&&&&&&&&&&&&&& This image is meant to be used as the base...&& 2&&&&&&&&&&&&&&&&&&& [OK]
docker.io&& docker.io/multiarch/busybox&&&&&&&&&&&&&& multiarch ports of ubuntu-debootstrap&&&&&&&&&& 2&&&&&&&&&&&&&&&&&&& [OK]
docker.io&& docker.io/elektritter/busybox-teamspeak&& Leightweight teamspeak3 container based on...&& 1&&&&&&&&&&&&&&&&&&& [OK]
docker.io&& docker.io/getblank/busybox&&&&&&&&&&&&&&& Docker container busybox for Blank&&&&&&&&&&&&& 1&&&&&&&&&&&&&&&&&&& [OK]
下载镜像:docker pull docker.io/busybox
[root@niaoyun43442 yum.repos.d]# docker pull docker.io/busybox
Using default tag: latest
Trying to pull repository docker.io/library/busybox ...
latest: Pulling from docker.io/library/busybox
8ddc19f16526: Pull complete
Digest: sha256:ad14c036ceec81ed7c4b8ce907b888c607f6a1e0e6
Status: Downloaded newer image for docker.io/busybox:latest
可以直接通过docker run -ti busybox 进去操作,也可以按照如下笨方法创建容器并进去操作。
基于busybox镜像创建容器busyboxtest:
[root@niaoyun43442 yum.repos.d]# docker run& -dti& --name busyboxtest& docker.io/busybox& /bin/sh
79e34ddeaf6dfe0db8cab1acbc9d3477fdd1bde080dcafc
[root@niaoyun43442 yum.repos.d]# docker&
CONTAINER ID&&&&&&& IMAGE&&&&&&&&&&&&&& COMMAND&&&&&&&&&&&& CREATED&&&&&&&&&&&& STATUS&&&&&&&&&&&&& PORTS&&&&&&&&&&&&&& NAMES
79e34ddeaf6d&&&&&&& docker.io/busybox&& &/bin/sh&&&&&&&&&&& 4 seconds ago&&&&&& Up 3 seconds&&&&&&&&&&&&&&&&&&&&&&&&&&& busyboxtest
进入容器并进入bin查看常用命令:
[root@niaoyun43442 yum.repos.d]# docker exec -ti&& busyboxtest /bin/bash
/ # cd bin/
[&&&&&&&&&&&&&&&&& chat&&&&&&&&&&&&&& deluser&&&&&&&&&&& fbset&&&&&&&&&&&&& gzip&&&&&&&&&&&&&& ip&&&&&&&&&&&&&&&& lpd&&&&&&&&&&&&&&& mknod&&&&&&&&&&&&& patch&&&&&&&&&&&&& reformime&&&&&&&&& setlogcons&&&&&&&& swapon&&&&&&&&&&&& ubiattach&&&&&&&&& vconfig
[[&&&&&&&&&&&&&&&& chattr&&&&&&&&&&&& depmod&&&&&&&&&&&& fbsplash&&&&&&&&&& halt&&&&&&&&&&&&&& ipaddr&&&&&&&&&&&& lpq&&&&&&&&&&&&&&& mkpasswd&&&&&&&&&& pgrep&&&&&&&&&&&&& remove-shell&&&&&& setserial&&&&&&&&& switch_root&&&&&&& ubidetach&&&&&&&&& vi
acpid&&&&&&&&&&&&& chgrp&&&&&&&&&&&&& devmem&&&&&&&&&&&& fdflush&&&&&&&&&&& hd&&&&&&&&&&&&&&&& ipcalc&&&&&&&&&&&& lpr&&&&&&&&&&&&&&& mkswap&&&&&&&&&&&& pidof&&&&&&&&&&&&& renice&&&&&&&&&&&& setsid&&&&&&&&&&&& sync&&&&&&&&&&&&&& ubimkvol&&&&&&&&&& vlock
add-shell&&&&&&&&& chmod&&&&&&&&&&&&& df&&&&&&&&&&&&&&&& fdformat&&&&&&&&&& hdparm&&&&&&&&&&&& ipcrm&&&&&&&&&&&&& ls&&&&&&&&&&&&&&&& mktemp&&&&&&&&&&&& ping&&&&&&&&&&&&&& reset&&&&&&&&&&&&& setuidgid&&&&&&&&& sysctl&&&&&&&&&&&& ubirename&&&&&&&&& volname
addgroup&&&&&&&&&& chown&&&&&&&&&&&&& dhcprelay&&&&&&&&& fdisk&&&&&&&&&&&&& head&&&&&&&&&&&&&& ipcs&&&&&&&&&&&&&& lsattr&&&&&&&&&&&& modinfo&&&&&&&&&&& ping6&&&&&&&&&&&&& resize&&&&&&&&&&&& sh&&&&&&&&&&&&&&&& syslogd&&&&&&&&&&& ubirmvol&&&&&&&&&& wall
adduser&&&&&&&&&&& chpasswd&&&&&&&&&& diff&&&&&&&&&&&&&& fgconsole&&&&&&&&& hexdump&&&&&&&&&&& iplink&&&&&&&&&&&& lsmod&&&&&&&&&&&&& modprobe&&&&&&&&&& pipe_progress&&&&& rev&&&&&&&&&&&&&&&&&&&&&&&&&&& shuf&&&&&&&&&&&&&& telnet&&&&&&&&&&&& uevent&&&&&&&&&&&& who
内容太多,省略后边部分
2,操作系统
我们可以通过docker search osname来查看镜像。比如:
docker search centos
docker search ubuntu
等等,下载需要的镜像。根据镜像创建容器以后即可正常使用,也可以操作以后再次进行封装形成一个新的镜像模板。
(1)官方的镜像一般都比较小,只安装常用组件,具有通用性,可塑性更好。个人建议下载这种镜像后进行配置优化。
(2)一些个人或组织上传的镜像内容比较丰富,适合测试侍弄,但未必适合自己的生产环境。
上一页: &&&&&下一页:相关内容Docker基本命令的使用
Docker基本命令的使用
之前的博文中介绍了Docker环境的介绍和部署,详情请看链接
这边博文主要说一下docker中的一些管理命令的使用。
在使用Docker时,需要使用Docker命令行工具docker与Docker
daemon建立通信。Docker
daemon是Docker守护进程,负责接收并分发执行Docker命令。
docker命令的执行一般需要获取root权限,因为Docker的命令工具docker与Docker
daemon是同一个二进制文件,而Docker
daemon负责接收并执行来自docker的命令,它的运行需要root权限。同时,从Docker 0.5.2版本开始,Docker
daemon默认绑定一个Unix Sockt来代替原有的TCP端口,该Unix
Socket默认是属于root用户的。因此,在执行docker命令是,需要sudo来获取root权限。
先大概了解一下docker命令的整体分类状况
子命令分类
Docker环境信息
info、version
容器生命周期管理
create、exec、kill、pause、restart、rm、run、start、stop、unpause
镜像仓库命令
login、logout、pull、push、search
build、images、import、load、rmi、save、tag、commit
容器运维操作
attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff
系统日志信息
events、history、logs
1、启动Docker环境并设置为开机自动启动
[root@test
~]# systemctl start docker
[root@test
~]# systemctl enable docker
[root@test
~]# service docker start
[root@test
~]# chkconfig docker on
2、查看docker命令的帮助信息
[root@test
~]# docker --help
Usage: docker
[OPTIONS] COMMAND [arg...]
docker daemon
[ --help | ... ]
--help | -v | --version ]
self-sufficient runtime for containers.
用户也可以针对于具体的子命令查看帮助信息
命令语法:docker COMMAND
例:获取子命令start的帮助信息
[root@test
~]# docker start --help
Usage:&&&&docker
start [OPTIONS] CONTAINER [CONTAINER...]
Start one or
more stopped containers
-a, --attach
Attach STDOUT/STDERR and forward signals
--detach-keys
Override the key sequence for detaching a
--help Print
--interactive Attach container's STDIN
3、查看Docker环境信息
info命令用于检查Docker是否正确安装。如果Docker正确安装,该命令会输出Docker的配置信息。
[root@test
~]# docker info
Containers:
Version: 1.10.3
Driver: devicemapper
Pool Name:
docker-253:0--pool
Blocksize: 65.54 kB
Base Device
Size: 10.74 GB
docker info命令一般会结合docker
version命令使用,两者结合使用能够提取到足够详细的Docker环境信息。
[root@test
~]# docker version
API version:
docker-common-1.10.3-44.el7.centos.x86_64
Go version:
Git commit:
9419b24-unsupported
Built: Fri
Jun 24 12:09:49 2016
linux/amd64
API version:
docker-common-1.10.3-44.el7.centos.x86_64
Go version:
Git commit:
9419b24-unsupported
Built: Fri
Jun 24 12:09:49 2016
linux/amd64
4、下载镜像docker
registry是存储容器镜像的仓库,用户可以通过Docker client与Docker
registry进行通信,以此来完成镜像的搜索、下载和上传等相关操作。Docker
Hub是由Docker公司在互联网上提供的一个镜像仓库,提供镜像的公有与私有存储服务,它是用户最主要的镜像来源。除了Docker
Hub外,用户还可以自行搭建私有服务器来实现镜像仓库的功能。
pull命令是Docker中的常用命令,主要用于从Docker
registry中拉取image或repository。在Docker官方仓库Docker
Hub中有许多即拿即用的镜像资源,通过docker
pull命令可以有效的利用它们,这也体现了Docker"一次编译,到处运行"的特性。同时,当镜像被拉取到本地后,用户可以在其现有基础上做出自身的更改操作,这也大大加快了应用的开发进程。
用户也可以从Hub官网上获取有哪些镜像可用
例:从官方Hub拉取Centos:centos镜像
[root@test ~]# docker pull
例:从官网Hub拉取指定的镜像
[root@test
~]# docker pull centos:centos6.8
5、推送镜像docker
与docker pull命令相对应的docker
push命令,可以将本地的image或repository推送到Docker
Hub的公共或私有镜像库,以及私有服务器。
使用方法:docker push
NAME[:TAG]
6、列出主机镜像docker
通过docker
images命令可以列出主机上的镜像,默认只列出最顶层的镜像,可以使用-a选项显示所有镜像。0
[root@test
~]# docker images
REPOSITORY
TAG IMAGE ID CREATED SIZE
docker.io/centos
centos7.2.a1d0cc 4 hours ago 194.6
7、删除镜像docker
使用方法:docker rmi [OPTIONS]
使用时可以加-f强制删除
8、创建容器docker
run用来基于特定的镜像创建一个容器,并依据选项来控制容器。
使用方法:docker run [OPTIONS]
IMAGE [COMMAND] ARG&&
例:从centos镜像启动一个容器,并执行echo命令,打印出"Hello
[root@test
~]# docker run centos:centos7.2.1511 echo "Hello
注:在选取启动容器的镜像时,可以在镜像名后添加tag来区分同名的镜像,如centos:centos6.8、centos:centso7.2.1511。如在选取镜像启动容器时,用户为指定具体tag,Docker将默认选取tag为latest的镜像。
例:启动一个容器并分配一个伪终端执行/bin/bash命令,用户可以在该伪终端与容器进行交互。
[root@test ~]# docker run -i
-t --name test01 centos:centos7.2.1511
[root@7a7b34d0e7ee
注:参数含义
-i&&&&&&&&表示使用交互模式,始终保持输入流开放
-t&&&&&&&&表示分配一个伪终端,一般两个参数结合时使用-it,即可在容器中利用打开的伪终端进行交互操作
--name&&&&表示指定容器名,若无此项,Docker将为容器随机分配一个名称
使用exit退出打开的伪终端
[root@7a7b34d0e7ee /]#
[root@test
9、启动、关闭、重启容器docker
start/stop/restart
start命令使用-i选项来开启交互模式,始终保持输入流开放。docker stop和docker
restart命令使用-t选项来设定容器停止前的等待时间
[root@test
~]# docker start -i test01
[root@7a7b34d0e7ee
10、连接正在运行的容器docker
[root@test
~]# docker attach test01
[root@7a7b34d0e7ee
11、查看镜像和容器信息docker
[root@test
~]# docker inspect test01
[root@test
~]# docker inspect centos:centos7.2.1511
12、查看主机上的容器docker
默认只显示正在运行的容器信息,可以加-a查看所有容器信息
[root@test
~]# docker ps
CONTAINER ID
IMAGE COMMAND CREATED STATUS PORTS NAMES
7a7b34d0e7ee
centos:centos7.2.1511 "/bin/bash" 13 minutes ago Up 7 seconds
[root@test
~]# docker ps -a
CONTAINER ID
IMAGE COMMAND CREATED STATUS PORTS NAMES
7a7b34d0e7ee
centos:centos7.2.1511 "/bin/bash" 13 minutes ago Up 14 seconds
aa2eedf3d037
centos:centos7.2.1511 "echo 'Hello World'" 19 minutes ago Exited
(0) 19 minutes ago jovial_mccl
13、保存容器为新的镜像
[root@test
~]# docker commit test01
sha256:cc80bb6cf4bb4b171acf0b334bf5018ffea096ef977
14、events、history和logs
events&&&&打印出实时的系统事件
history&&&&打印出指定镜像的历史版本信息
logs&&&&&&&&打印出容器中进程的运行日志
更多内容后期更新
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Docker学习总结(9)——Docker常用命令
容器生命周期管理 &docker [run|start|stop|restart|kill|rm|pause|unpause]
容器操作运维 &docker [ps|inspect|top|attach|events|logs|wait|export|port]
容器rootfs命令 &docker [commit|cp|diff]
镜像仓库 &docker [login|pull|push|search]
本地镜像管理 &docker [images|rmi|tag|build|history|save|import]
其他命令 &docker [info|version]
看一个变迁图
REPOSITORY
VIRTUAL SIZE
13 days ago
其中我们可以根据REPOSITORY来判断这个镜像是来自哪个服务器,如果没有 / 则表示官方镜像,类似于username/repos_name表示Github的个人公共库,类似于:5000/repos_name则表示的是私服。
IMAGE ID列其实是缩写,要显示完整则带上--no-trunc选项
Usage: docker search TERM
DESCRIPTION
seanloook/centos6
sean's docker repos
搜索的范围是官方镜像和所有个人公共镜像。NAME列的 / 后面是仓库的名字。
Usage: docker pull [OPTIONS] NAME[:TAG]
上面的命令需要注意,在docker v1.2版本以前,会下载官方镜像的centos仓库里的所有镜像,而从v.13开始官方文档里的说明变了:will pull the centos:latest image, its intermediate layers and any aliases of the same id,也就是只会下载tag为latest的镜像(以及同一images id的其他tag)。
也可以明确指定具体的镜像:
当然也可以从某个人的公共仓库(包括自己是私人仓库)拉取,形如docker pull username/repository&:tag_name&:
如果你没有网络,或者从其他私服获取镜像,形如docker pull :5000/repos:
与上面的pull对应,可以推送到Docker Hub的Public、Private以及私服,但不能推送到Top Level Repository。
registry.tp-link.net也可以写成IP,172.29.88.222。
在repository不存在的情况下,命令行下push上去的会为我们创建为私有库,然而通过创建的默认为公共库。
docker run命令首先会从特定的image创之上create一层可写的,然后通过start命令来启动它。停止的container可以重新启动并保留原来的修改。run命令启动参数有很多,以下是一些常规使用说明,更多部分请参考
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件,并在只读的镜像层外面挂载一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个 ip 地址给容器
执行用户指定的应用程序
执行完毕后容器被终止
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
5.1 使用image创建container并执行相应命令,然后停止
hello word
这是最简单的方式,跟在本地直接执行echo 'hello world'几乎感觉不出任何区别,而实际上它会从本地ubuntu:latest镜像启动到一个容器,并执行打印命令后退出(docker ps -l可查看)。需要注意的是,默认有一个--rm=true参数,即完成操作后停止容器并从文件系统移除。因为Docker的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。
容器启动后会自动随机生成一个CONTAINER ID,这个ID在后面commit命令后可以变为IMAGE ID
使用image创建container并进入交互模式, login shell是/bin/bash
上面的--name参数可以指定启动后的容器名字,如果不指定则docker会帮我们取一个名字。镜像centos:centos6也可以用IMAGE ID(68edf809afe7) 代替),并且会启动一个伪终端,但通过ps或top命令我们却只能看到一两个进程,因为容器的核心是所执行的应用程序,所需要的资源都是应用程序运行所必需的,除此之外,并没有其它的资源,可见Docker对资源的利用率极高。此时使用exit或Ctrl+D退出后,这个容器也就消失了(消失后的容器并没有完全删除?)
(那么多个TAG不同而IMAGE ID相同的的镜像究竟会运行以哪一个TAG启动呢
5.2 运行出一个container放到后台运行
# docker run -d ubuntu /bin/sh -c & do sleep 2; done&
ae60c4b642058fefcc61ada85a610914bed9f5df0e2aa147100eab85cea785dc
它将直接把启动的container挂起放在后台运行(这才叫saas),并且会输出一个CONTAINER ID,通过docker ps可以看到这个容器的信息,可在container外面查看它的输出docker logs ae60c4b64205,也可以通过docker attach ae60c4b64205连接到这个正在运行的终端,此时在Ctrl+C退出container就消失了,按ctrl-p ctrl-q可以退出到宿主机,而保持container仍然在运行
另外,如果-d启动但后面的命令执行完就结束了,如/bin/bash、echo test,则container做完该做的时候依然会终止。而且-d不能与--rm同时使用
可以通过这种方式来运行memcached、apache等。
5.3 映射host到container的端口和目录
映射主机到容器的端口是很有用的,比如在container中运行memcached,端口为11211,运行容器的host可以连接container的 internel_ip:11211 访问,如果有从其他主机访问memcached需求那就可以通过-p选项,形如-p ,存在以下几种写法:
11211:11211 这个即是默认情况下,绑定主机所有网卡(0.0.0.0)的11211端口到容器的11211端口上
127.0.0.1:11211:11211 只绑定这个接口的11211端口
127.0.0.1::5000
127.0.0.1:80:8080
目录映射其实是&绑定挂载&host的路径到container的目录,这对于内外传送文件比较方便,在搭建私服那一节,为了避免私服container停止以后保存的images不被删除,就要把提交的images保存到挂载的主机目录下。使用比较简单,-v ,绑定多个目录时再加-v。
-v /tmp/docker:/tmp/docker
另外在两个container之间建立联系可用--link,详见高级部分或。
下面是一个例子:
& -v /tmp/docker:/usr/share/nginx/html:ro \
& -p 80:80 -d \
& nginx:1.7.6
在主机的/tmp/docker下建立index.html,就可以通过http://localhost:80/或http://host-ip:80访问了。
当我们在制作自己的镜像的时候,会在container中安装一些工具、修改配置,如果不做commit保存起来,那么container停止以后再启动,这些更改就消失了。
docker commit
[repo:tag]
后面的repo:tag可选
只能提交正在运行的container,即通过docker ps可以看见的容器,
查看刚运行过的容器
CONTAINER ID
c9fdf26326c9
nginx -g..
3 hours ago
Exited (0)..
nginx_test
启动一个已存在的容器(run是从image新建容器后再启动),以下也可以使用docker start nginx_test代替
[root@hostname docker]
c9fdf26326c9
docker run -i -t --sig-proxy=false 21ffe545748baf /bin/bash
nginx服务没有启动
fe866eaab47bc943ccb796e53f3f416abf3fa9503
请注意,当你反复去commit一个容器的时候,每次都会得到一个新的IMAGE ID,假如后面的repository:tag没有变,通过docker images可以看到,之前提交的那份镜像的repository:tag就会变成:,所以尽量避免反复提交。
另外,观察以下几点:
commit container只会pause住容器,这是为了保证容器文件系统的一致性,但不会stop。如果你要对这个容器继续做其他修改:
你可以重新提交得到新image2,删除次新的image1
也可以关闭容器用新image1启动,继续修改,提交image2后删除image1
当然这样会很痛苦,所以一般是采用Dockerfile来build得到最终image,参考[]
虽然产生了一个新的image,并且你可以看到大小有100MB,但从commit过程很快就可以知道实际上它并没有独立占用100MB的硬盘空间,而只是在旧镜像的基础上修改,它们共享大部分公共的&片&。
容器可以通过run新建一个来运行,也可以重新start已经停止的container,但start不能够再指定容器启动时运行的指令,因为docker只能有一个前台进程。
容器stop(或Ctrl+D)时,会在保存当前容器的状态之后退出,下次start时保有上次关闭时更改。而且每次进入attach进去的界面是一样的,与第一次run启动或commit提交的时刻相同。
CONTAINER_ID=$(docker start )
docker stop $CONTAINER_ID
docker restart $CONTAINER_ID
关于这几个命令可以通过一个完整的实例使用:。
要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。
官方文档中说attach后可以通过CTRL-C来detach,但实际上经过我的测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上--sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。
inspect的对象可以是image、运行中的container和停止的container。
查看容器的内部IP
172.17.42.35
你可能在使用过程中会build或commit许多镜像,无用的镜像需要删除。但删除这些镜像是有一些条件的:
同一个IMAGE ID可能会有多个TAG(可能还在不同的仓库),首先你要根据这些 image names 来删除标签,当删除最后一个tag的时候就会自动删除镜像;
承上,如果要删除的多个IMAGE NAME在同一个REPOSITORY,可以通过docker rmi 来同时删除剩下的TAG;若在不同Repo则还是需要手动逐个删除TAG;
还存在由这个镜像启动的container时(即便已经停止),也无法删除镜像;
如何查看镜像与容器的依存关系
删除所有停止的容器
docker rm $(docker ps -a -q)
docker rmi
下面是一个完整的示例:
195eb90b5349
4 months ago
195eb90b5349
4 months ago
seanlook/ubuntu
195eb90b5349
4 months ago
使用195eb90b5349启动、停止一个容器后,删除这个镜像
Error response from daemon: Conflict, cannot delete image 195eb90b5349 because it is
tagged in multiple repositories, use -f to force
2014/11/04 14:19:00 Error: failed to remove one or more images
删除seanlook仓库中的tag
Untagged: seanlook/ubuntu:rm_test
现在删除镜像,还会由于container的存在不能rmi
Error response from daemon: Conflict, cannot delete 195eb90b5349 because the
container eef is using it, use -f to force
2014/11/04 14:24:15 Error: failed to remove one or more images
先删除由这个镜像启动的容器
Deleted: 195eb90b188cfbdf898e224d8a0a11ec54ff
Deleted: 209ea56fda6dc2fb013e4d1e40cb678b2af91d1b54abd867adc961
Deleted: 0f4aaca725ccf8e7caada42f528a5ee9b02467dac90a
Deleted: fae16849ebe23b48f2bedcc08aaabdffd8dd5e7364
Deleted: fb5b672f5cf48fa79d90b11aeac184eaaff
注意,上面的删除过程我所举的例子比较特殊&&镜像被tag在多个仓库,也有启动过的容器。按照&==指示的顺序进行即可。
build命令可以从Dockerfile和上下文来创建镜像:
docker build [OPTIONS] PATH | URL | -
上面的PATH或URL中的文件被称作上下文,build image的过程会先把这些文件传送到docker的服务端来进行的。
如果PATH直接就是一个单独的Dockerfile文件则可以不需要上下文;如果URL是一个仓库地址,那么创建image的过程中会自动git clone一份到本机的临时目录,它就成为了本次build的上下文。无论指定的PATH是什么,Dockerfile是至关重要的,请参考。
请看下面的例子:
# cat Dockerfile
FROM seanlook/nginx:bash_vim
ENTRYPOINT /usr/sbin/nginx -c /etc/nginx/nginx.conf && /bin/bash
# docker build -t seanlook/nginx:bash_vim_Df .
Sending build context to Docker daemon 73.45 MB
Sending build context to Docker daemon
Step 0 : FROM seanlook/nginx:bash_vim
Step 1 : EXPOSE 80
Step 2 : ENTRYPOINT /usr/sbin/nginx -c /etc/nginx/nginx.conf && /bin/bash
Removing intermediate container e08963fd5afb
Successfully built d9bbd13f5066
上面的PATH为.,所以在当前目录下的所有文件(不包括.dockerignore中的)将会被tar打包并传送到docker daemon(一般在本机),从输出我们可以到Sending build context...,最后有个Removing intermediate container的过程,可以通过--rm=false来保留容器。
docker /creack/docker-firefox失败。
tag的作用主要有两点:一是为镜像起一个容易理解的名字,二是可以通过docker tag来重新指定镜像的仓库,这样在push时自动提交到仓库。
将同一IMAGE_ID的所有tag,合并为一个新的
新建一个tag,保留旧的那条记录
docker ps命令可以查看容器的CONTAINER ID、NAME、IMAGE NAME、端口开启及绑定、容器启动后执行的COMMNAD。经常通过ps来找到CONTAINER_ID。
docker ps默认显示当前正在运行中的container
docker ps -a查看包括已经停止的所有容器
docker ps -l显示最新启动的一个容器(包括已停止的)
容器运行时不一定有/bin/bash终端来交互执行top命令,查看container中正在运行的进程,况且还不一定有top命令,这是docker top 就很有用了。实际上在host上使用ps -ef|grep docker也可以看到一组类似的进程信息,把container里的进程看成是host上启动docker的子进程就对了。
docker还有一些如login、cp、logs、export、import、load、kill等不是很常用的命令,比较简单,请参考官网。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'

我要回帖

更多关于 cad2014安装失败win10 的文章

 

随机推荐