docker初级常用命令,包括镜像、容器和其他查看日志进程等命令
帮助命令
docker version # 显示docker版本信息
docker info # 显示docker的系统信息,包括镜像和容器
docker 命令 --help # 万能帮助命令
1、镜像命令
# 查看本地所有的镜像
docker images
# 查看命令的帮助信息
docker images --help
Options:
-a, --all # 列出所有的镜像
-q, --quiet # 只显示镜像的id
# 查看所有的镜像的id
docker images -aq
2b4cba85892a
c6b70534b534
feb5d9fea6a5
# 搜索镜像
docker search [imageName]
docker search [imageName] -f=START=3000
# 下载镜像
docker pull [imageName] [:tag]
Using default tag: latest # 不写tag默认下载最新
latest: Pulling from library/mysql
15115158dd02: Pull complete # 分层下载
d733f6778b18: Pull complete
1cc7a6c74a04: Pull complete
c4364028a805: Pull complete
82887163f0f6: Pull complete
28abcb7f57e0: Pull complete
46d27a431703: Pull complete
8e745fe86aaf: Pull complete
ab75add93486: Pull complete
09e3960383f3: Pull complete
59f780965951: Pull complete
8ead2303095c: Pull complete
Digest: sha256:b17a66b49277a68066559416cf44a185cfee538d0e16b5624781019bc716c122 # 签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest # 真实地址
# 删除镜像
docker rmi -f [ids] # 删除单/多个镜像
docker rmi -f $(docker images -aq) # 删除所有镜像
2、容器命令
有了镜像才可创建容器,下载一个CentOS镜像
# 下载centos镜像
docker pull centos
容器命令
# 运行创建一个新容器
docker run [可选参数] [image]
--name="Name" # 容器名称
-d # 后台方式运行
-it # 使用交互方式运行
-P # 指定容器端口,端口映射
-P ip:主机端口:容器端口
-P 主机端口:容器端口
-P 容器端口
-p # 随机指定端口
# 例 启动并进入容器
PS C:\Windows\system32> docker run -it centos /bin/bash
[root@07305647870c /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
# 退出容器并停止容器
[root@07305647870c /]# exit
exit
# 快捷键ctrl + P + Q 退出容器并不停止容器
# 查看容器
docker ps [可选参数] # 列出正在运行的容器
-a # 列出正在运行的容器和历史记录
-n=num # 显示最近创建的容器,num代表数量
-q # 只显示编号/id
# 删除容器
docker rm [容器id] # 删除指定的容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq) # 递归删除所有的容器
docker ps -a -q|xargs docker rm # 递归删除所有的容器
# 操作已创建的容器
docker start [容器id] # 启动容器
docker restart [容器id] # 重启容器
docker stop [容器id] # 停止当前正在运行的容器
docker kill [容器id] # 强制停止当前正在运行的容器
3、其他命令
后台运行容器
# 后台运行容器
docker run -d centos
docker ps
# 此时发现centos停止了,容器要使用后台运行的方式,就必须要有一个前台进程,此时docker发现没有前台,就会自动停止
日志
# 查看日志
docker logs [可选参数] [容器id]
-f
-n --tail
-t
docker logs -ft --tail 10 [容器id]
docker logs -ftn 10 [容器id]
# 启动容器编写shell脚本让容器有日志输出
docker run -d centos /bin/sh -c "while true;do echo huzeyo;sleep 1;"
进程
# 查看当前容器内部的进程信息
docker top [容器id]
元数据
# 显示元数据
docker inspect
进入正在运行的容器
# 方式一
docker exec -it [容器id] [bashShell]
# 例
docker exec -it f60ef0647eb3 /bin/bash
# 方式二
docker attach [容器id]
# 例
docker attach f60ef0647eb3
docker exec -it | docker attach |
---|---|
进入容器后开启新的终端 | 进入容器正在执行的终端 |
退出终端不关闭容器 | 退出终端关闭容器 |
拷贝命令
# 拷贝
docker cp 容器id:容器内路径 目的路径
# 例
docker cp f60ef0647eb3:/home/test.java /home