sudo docker run -i -t ubuntu:14.04 /bin/bash 启动一个新的Ubuntu容器 sudo docker run --rm -i -t ubuntu:14.04/bin/bash 建议新手测试加上 -—rm sudo docker run -i -t --name "private_container" ubuntu:14.04 /bin/bash
docker ps: 列出当前容器docker
-a, --all=false 显示全部容器,包括当前没有运行的容器 -f, --filter=[] 按条件过滤容器, 可选的过滤选项: exited=<int> 容器的返回值 -l, --latest=false 显示最新的一个容器 -n num 显示最新的N个容器 --no-trunc=false 不要截断输出 -q, --quiet=false 仅显示容器ID -s, --size=false 显示容器大小
例:ubuntu
docker ps 当前正在运行的容器 docker ps -a 当前正在运行或是中止的容器 docker ps -a -q --no-trunc 得到当前全部容器的ID,不截断输出 docker rm $(echo $(docker ps -q --no-trunc) $(dockerps -a -q--no-trunc) | sed 's|\s|\n|g' |sort | uniq -u) 删除当前不在运行状态的容器ID,也能够把前面改为docker rm
-a, --all=false 显示全部镜像,包括中间生成的临时镜像 -f, --filter=[] 经过标签过滤 (i.e. 'dangling=true') --no-trunc=false 不要截断输出 -q, --quiet=false 仅显示容器ID
例子:bash
docker images 显示当前仓库中的镜像 docker images -a 显示当前仓库中的镜像与临时镜像 docker images -a -q --no-trunc 显示当前仓库中的镜像与临时镜像的ID,不截断输出
docker logs CONTAINER 命令参数: -f, --follow=false 等待容器后续的输出(相似 tail -f) -t, --timestamps=false 显示时间戳 --tail="all"
例:测试
sudo docker logs 7bb0e258aefe sudo docker logs --timestamps=true 7bb0e258aefe sudo docker logs --timestamps=true 7bb0e258aefe > 7bb0e258aefe.log 终端A: sudo docker logs --follow 7bb0e258aefe 终端B: sudo docker attach 708cc7ec0f23 (随便执行一些命令能够看到终端A会有实时输出)
docker inspect: 显示镜像或容器的详细信息ui
sudo docker inspect 7bb0e258aefe sudo dockerinspect --format "{{.State.Pid}}" 7bb0e258aefe
sudo docker stop 7bb0e258aefe
sudo docker start 7bb0e258aefe
sudo docker restart 7bb0e258aefe
docker cp c3f279d17e0a:/home/hyzhou/answer.txt . 将镜像中的/home/hyzhou/answer.txt文件拷贝到当前目录下
docker rm my_ubuntu 删除容器 docker rm 708cc7ec0f23 删除容器 docker rm $(docker ps -a -q) 删除全部容器
sudo docker top 708cc7ec0f23 sudo docker top 708cc7ec0f23 aux
A终端: sudo docker events 终端A等待Docker系统信息 sudo docker events --since 1378216169 sudo docker events --since '2013-09-03' sudo docker events--since '2013-09-03 15:49:29' sudo docker events --since'2013-09-03 15:49:29 +0200CEST' sudo docker events > docker.log & 后台记录Docker的容器事件 B终端: sudo docker restart 708cc7ec0f23 从B终端关闭容器 A终端显示: 2014-09-06T23:08:21+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) die 2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) start 2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) restart
sudo docker ps -a CONTAINERID IMAGE COMMAND CREATED STATUS b705fc4f4a50 new:latest "/bin/bash" 49 seconds ago Up 49 seconds 708cc7ec0f23 ubuntu:latest "/bin/bash" 9 minutes ago Up 9 minutes sudo docker diff 7bb0e258aefe C/root A/root/new.txt sudo docker diff b705fc4f4a50
sudo docker ps ID IMAGE COMMAND CREATED STATUS c3f279d17e0a ubuntu:12.04 /bin/bash 7 days ago Up 25 hours 197387f1b436 ubuntu:12.04 /bin/bash 7 days ago Up 25 hours docker commitc3f279d17e0a Hyzhou/my_ubuntu:3.2.3 docker commit -a "Hyzhou<hyzhou@qq.com>" -m "addthe new software" c3f279d17e0aHyzhou/my_ubuntu:3.2.3 docker images REPOSITORY TAG ID CREATED VIRTUAL SIZE Hyzhou/my_ubuntu 3.2.3 f5283438590d 16 seconds ago 335.7 MB
例子: sudo docker tag ubuntu:latest hyzhou/my_ubuntu:3.2.3 给ubuntu:latest打上新TAG:hyzhou/my_ubuntu:3.2.3 sudo dockertag eb601b8965b8 ubuntu:latest 给eb601b8965b8镜像打上TAG: ubuntu:latest(会转换原有的TAG指向) docker save: 将image保存为tar压缩文件 docker save [OPTIONS] IMAGE [IMAGE...] -o, --output="" 写入到一个文件中做为输出,默认是标准输出流 例子: docker save --output ubuntu.tar ubuntu:latest 将Ubuntu的最新镜像打包为ubuntu.tar docker save ubuntu:latest > ubuntu.tar 将Ubuntu的最新镜像打包为ubuntu.tar
docker load --input ubuntu.tar 读取ubuntu.tar做为镜像 docker load < ubuntu.tar 读取ubuntu.tar做为镜像
例子: sudo docker export my_ubuntu > ubuntu.tar 将Ubuntu的最新镜像打包为ubuntu.tar docker import: 加载容器系统文件 docker import URL|- [REPOSITORY[:TAG]] 例子: sudo docker import http://example.com/exampleimage.tgz cat exampleimage.tgz | sudodocker import -exampleimagelocal:new