Docker 基本命令

来源:互联网 发布:身材丰满的av演员知乎 编辑:程序博客网 时间:2024/05/19 12:13

列出正在运行的容器:            docker ps

列出所有容器:               docker ps -a 

列出最近使用的容器,包括没有运行的:    docker ps -l

仅列出容器的ID,不包括没有运行的:        docker ps q


创建容器

参数:

--name  指定容器的名字

--rm      容器运行完毕会自动删除

-i -t       创建一个提供交互式shell的容器。

-d         在后台运行容器,并且打印出容器的ID。

创建交互式容器

docker run --name  weblogic -i -t centos /bin/bash

对于交互式容器,当退出shell后,容器会关闭。 后面可以通过命令重新启动容器。

 

创建守护式容器

这种容器指容器可以长期一直运行,没有交互式会话,非常适合容器中运行后台应用程序和服务(如数据库服务、web服务器等)。

docker run -d centos /bin/bash -c"while true;do echo hello docker;sleep 1;done"

 

启动和停止容器

docker start/stop/restart continer id/name

docker -t 可以指定时间停止容器,默认是10s

强制停止容器

docker kill continer id/name

 

附着到一个容器上

docker attach continer id/name

当重新启动容器时,会沿用创建容器(docker run)命令时指定的参数来运行,可能需要按回车才进入。

这时就已经相当于在容器内部了的shell操作了。如果操作过程中,退出了shell。容器也会随之停止。

docker run -i -t centos /bin/bashdocker ps -l     docker start cf9docker attach cf9

 

在运行的容器中执行命令

docker exec -t -i af2 /bin/bashps -ef

可以通过docker exec命令在容器内部额外启动新进程,退出容器,并不会停止容器。

 

查看容器的详细信息

查看容器的运行时后台输出信息

docker logs continer id/name 

利用docker inspect 命令可以查看容器更多的信息。 如ip地址等,这对守护容器还是很有意义的。


删除已经停止运行的容器

 docker  stop id docker rm id

一次删除所有停止的容器

 docker rm $(docker ps -a -q)

 

查看容器内的改变信息

创建一个容器,会在容器的对应的镜像上增加一个可写层,镜像部分是只读的。通过 diff命令可以看出改变的信息。如:

 

docker run -i -t centos /bin/bashtouch demo.ext
echo hello docker >demo.ext rm -rf anaconda-post.log  docker diff 224d

说明:每行代表一个变动的文件或目录。其中 A 表示新增、C表示被修改、D表示被删除

 

主机和容器之间的文件拷贝

容器--->主机


 docker exec  -t -i 9f bin/bashdocker cp 9f:/demo.txt /testcat /test/demo.txt 

主机-->容器

 cp ~/1.txt  /var/lib/docker/aufs/mnt/9f49397623ade7dfd2beb4d84454cbdb9878a4b22a2bab2e8b5db72bcffe60a0/testdocker exec   -t -i 9f   /bin/bashls /test1.txt

 

重命名容器

 docker rename stoic_meitner demo
0 0