1.docker images -a 查看所有镜像
2.docker info 查看container和images的信息
3.docker run --name znidocker -i -t debian /bin/bash 创建并启动一个包含debian镜像的容器,启动后执行/bin/bash命令。--name指定容器名称。如果需要使用容器的指定端口,则需要加参数-p {port}
4.docker ps -a 查看当前系统中所有容器列表(包括正在运行和已经停止的)。不加-a则只显示正在运行的容器。
5.docker rm {container_id|container_name} 都可以删除容器
6.docker start {container_id|container_name} 启动已停止的容器
7.docker restart {container_id|container_name} 重启容器
8.在容器内部执行exit正常退出容器
9.docker stop {container_id|container_name} 停止容器
10.docker create --name znidocker2 -i -t debian /bin/bash 创建一个容器,但是不运行。
11.docker attach {container_id|container_name} 启动容器后,通过该命令 重启附着到容器上,进入容器运行的shell命令行交互界面
12.区别前面的交互式容器,现在创建一个守护式容器:
docker run --name daemon_dave -d debian /bin/sh -c "while true; do echo hello world; sleep 1; done"
其中-d表示让Docker将容器放到后台执行
13.docker logs {container_name} 获取守护式进程的日志。
-f 持续打印,类似tail -f。 CRTL+C退出日志跟踪
-t 为每条日志项加上时间戳
--tail 10 打印最后10条日志
示例: docker logs -ft --tail 5 daemon_dave
root@hzbxs-azkaban-6:~# docker logs -ft --tail 5 daemon_dave
2017-08-06T09:24:08.497031769Z hello world
2017-08-06T09:24:09.498143397Z hello world
2017-08-06T09:24:10.499094786Z hello world
2017-08-06T09:24:11.500347756Z hello world
2017-08-06T09:24:12.501285402Z hello world
2017-08-06T09:24:13.502651354Z hello world
14.docker top {container_id|container_name} 查看容器内的所有进程
root@hzbxs-azkaban-6:~# docker top daemon_dave
UID PID PPID C STIME TTY TIME CMD
root 22314 22297 0 17:19 ? 00:00:00 /bin/sh -c while true; do echo hello world; sleep 1; done
root 23061 22314 0 17:27 ? 00:00:00 sleep 1
15.docker stat {container_name1} {container_name2} 查看一个或多个容器内的资源使用情况(cpu,内存,网络I/O,存储I/O等)
root@hzbxs-azkaban-6:~# docker stats daemon_dave nifty_wescoff
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
daemon_dave 0.09% 356KiB / 11.76GiB 0.00% 468B / 0B 2.03MB / 0B 0
nifty_wescoff 0.03% 4.121MiB / 11.76GiB 0.03% 5.31MB / 746kB 17MB / 438kB 0
16.docker exec -d {container_name} {command} 在容器内运行一个后台进程
17.docker exec -t -i {container_name} /bin/bash 在容器内创建一个新的bash会话,有了这个会话就可以在容器中运行其它命令了。
18.docker run --restart=on-failure:5 --name {container_name} -d debian /bin/bash 创建一个失败(退出码不为0)会自动重启的容器,最多重启次数为5。设置--restart=always则无论容器退出码是什么,都自动重启。
19.docker inspect {container_name|image_name} 获取容器或镜像的详细信息
20.docker rm `docker ps -a -q`
一次性删除所有容器
21.docker pull ubuntu:12.04 拉取ubuntu的tag为12.04的镜像
22.docker search {image_name} 搜索Docker Hub上公共的可用镜像
23.docker commit -m"{message}" -a"{author}" {container_id} {username}/{repo_name}:{tag_name} 提交镜像。如:
docker commit -m"My first image" -a"zni.feng" znidocker zni.feng/apache2:webserver
24.docker tag Registry/Repos:Tag New_Registry/New_Repos:New_Tag 给镜像打上新的tag
25.docker tag {image_id} New_Registry/New_Repos:New_Tag 合并同一个image的所有tag
26.docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH 容器与主机之间的数据拷贝
下面三条分别是:将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下;将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www;将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp /www/runoob 96f7f14e99ab:/www/
docker cp /www/runoob 96f7f14e99ab:/www
docker cp 96f7f14e99ab:/www /tmp/
27.docker port {container_name} 获取指定容器的端口映射
28.docker diff {container_name} 查看容器内的文件结构更改
29.docker history {image_name} 查看镜像的具体构建过程
30.docker rmi {image_name} 删除镜像
31.docker tag {image_id} {hostname}}:{port} {image_name}
32.docker push {image_name} 推送镜像到Registry
33.docker export {containerid} >/home/hadoop/zni_docker.tar 将容器导出成tar包形式
34.docker import /home/hadoop/zni_docker.tar {image_name}:{version}将容器导入
35.docker save {imageid} > /home/hadoop/zni_docker.tar 或 docker save -o /home/hadoop/zni_docker.tar {imageid}保存镜像
36.docker load < /home/hadoop/zni_docker.tar 载入镜像