仓库管理:
search
从仓库中查找镜像
--no-trunc:显示完整的镜像描述
docker search tomcat
pull
docker pull从镜像仓库中下载镜像或更新指定镜像
docker pull tomcat
本地镜像管理
images
列出本地镜像
-a:列出所有镜像,包括中间映像层
-q:只显示镜像ID
docker images
rmi
删除本地一个或多个镜像
-f:强制删除
docker rmi tomcat
save
将指定镜像保存成tar归档文件
-o:输出到文件
docker save -o tomcat.tar tomcat
load
从tar归档文件中加载镜像
-i:从tar归档文件中读取
docker load < tomcat.tar
import
从归档文件中创建镜像
docker import tomcat.tar tomcat
export
将容器的文件系统导出为tar存档
-o:写入文件
docker export tomcat > tomcat.tar
容器生命周期管理
run
创建一个新容器并运行一个命令
-d:后台运行容器
-it:以交互式并分配一个伪终端
-p:端口映射(主机端口:容器端口)
--name="tomcat":为容器指定一个名称
--dns 8.8.8.8:指定容器使用的DNS服务器,默认与主机一致
-h "root":指定容器的hostname
-m:设置容器使用的最大内存值
--net="bridge":指定容器的网络链接类型:
none:不在容器中使用网络
bridge(默认):通过veth连接到主机的桥接上(NAT模式)
host:使用和主机相同的网络
network:使用用户自定义的网络
container:使用其它容器的网络
--restart:重启策略:
No:没有任何重启操作,默认
On-failure:当容器的命令返回非0,也就是出错时,进行重启
Always:无论容器处于什么状态,都重启
-v src:des:映射一个外部卷,如-v /root:/hsotroot(将主机root目录映射到容器hostroot目录,那么容器就可以操作主机root目录了,这是很危险的)
示例:
docker run -it --name="tomcat1" --restart="Always" -p 80:8080 tomcat /bin/bash
start、stop、restart
容器的启动、停止、重启
docker start tomcat
kill
结束运行中的容器
docker kill tomcat
rm
删除容器
-f:强制删除正在运行中的容器
-l:移除容器间的网络连接
-v:删除与容器相关的数据卷
docker rm tomcat
pause、unpause
暂停容器中的所有进程、恢复容器中的所有进程
docker pause tomat
exec
在运行的容器中执行命令,常用于进入容器中
-d:在后台运行
-it:分配伪终端
docker exec -it tomcat /bin/bash
容器操作
ps
列出容器
-a:显示所有的容器,包括未运行的
-l:显示最近创建的容器
-s:显示总的文件大小
docker ps -a
inspect
获取容器/镜像的元数据
docker inspect tomcat
top
查看容器中运行的进程信息,支持ps参数
docker top -ef tomcat
attach
连接到正在运行中的容器
#要attach上去的容器必须是正在运行的,
docker attach tomcat
logs
获取容器的日志
-f:跟踪容器输出
-t:显示时间戳
--tail N:仅显示最新N条容器日志
docker logs -f tomcat
port
列出容器的端口映射
docker port tomcat
容器rootfs命令
commit
从容器创建一个新镜像
-a:镜像作者
-c:使用dockerfile指令来创建镜像
-p:在commit时,将容器停止
docker commit a404c6c174a2 mymysql
cp
用于容器与主机之间的数据拷贝
#将主机中的文件拷贝到容器中
docker cp /root/1.txt tomcat:/root/
#将容器中文件拷贝到主机中
docker cp tomcat:/root/1.txt /root