Docker基本命令

1.帮助命令
bash
#1.查看Docker版本信息
docker version
#2.查看Docker系统级信息,包括镜像和容器数量
docker info
#3.查看Docker命令帮助
docker 命令 --help2.镜像命令
2.1查看本地镜像

bash
#1.查看本地主机上的所有镜像
docker images
#2.列出所有镜像详细信息
docker images -a
#3.只列出所有镜像id
docker images -aq常用参数:
| 参数 | 作用 |
|---|---|
-a | 列出所有镜像 |
-q | 只显示镜像id |
2.2查找镜像
bash
docker search 镜像名注意:docker search不走镜像源,只会走Docker官方渠道,容易超时。
2.3下载镜像
bash
#1.下载指定镜像
docker pull 镜像名[:tag]说明:不写tag时,默认下载latest版本。
示例:
bash
ubuntu@Mystpet:~$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
17eec7bbc9d7: Pull complete
ea52d2000f90: Download complete
Digest: sha256:85404b3c53951c3ff5d40de0972b1bb21fafa2e8daa235355baf44f33db9dbdd
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest补充说明:
Pull complete表示镜像分层下载完成,这是Docker镜像的核心机制之一。docker.io/library/hello-world:latest是真实镜像地址。docker pull hello-world等价于docker pull docker.io/library/hello-world:latest。
2.4删除镜像
bash
#1.删除指定镜像
docker rmi image id
#2.删除多个镜像
docker rmi image id1 image id2 image id3
#3.删除所有镜像
docker rmi $(docker images -aq)补充命令:
bash
#停止全部容器
docker stop $(docker ps -a -q)3.容器命令
说明:有了镜像才可以创建容器。
3.1新建并启动容器
bash
#1.新建容器并启动
docker run [可选参数] image
#2.启动Ubuntu容器并进入容器终端
docker run -it ubuntu /bin/bash参数说明:
| 参数 | 作用 |
|---|---|
-i | 保持标准输入打开 |
-t | 分配一个伪终端 |
/bin/bash | 进入容器后执行bash |
示例:
bash
root@7d6209933ef2:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@7d6209933ef2:/# exit说明:exit会从容器退回主机。
3.2列出容器
bash
#1.列出正在运行的容器
docker ps
#2.列出正在运行的容器和历史容器
docker ps -a
#3.只显示容器编号
docker ps -q示例:
bash
ubuntu@Mystpet:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ubuntu@Mystpet:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9a6c7cac3bab ubuntu "/bin/bash" 6 minutes ago Exited (0) 6 minutes ago dazzling_ritchie
fe8194fdc53a ubuntu "/bin/bash" 8 minutes ago Exited (127) 8 minutes ago practical_gagarin
cc3d0463dd17 nginx:alpine "/docker-entrypoint.…" 4 weeks ago Exited (0) 11 days ago myblog-container常用参数:
| 参数 | 作用 |
|---|---|
-a | 列出正在运行的容器和历史容器 |
-q | 只显示容器编号 |
3.3退出容器
bash
#1.直接退出容器并关闭容器
exit
#2.退出容器但不关闭容器
Ctrl+P+Q3.4删除容器
bash
#1.强制删除指定容器
docker rm -f 容器id
#2.强制删除所有容器
docker rm -f $(docker ps -aq)3.5启动和停止容器
bash
#1.启动容器
docker start 容器id
#2.重启容器,常用于加载新配置
docker restart 容器id
#3.停止当前正在运行的容器
docker stop 容器id
#4.强制停止当前容器
docker kill 容器id4.常用容器操作
4.1后台运行容器
bash
docker run -d ubuntu问题:执行后通过docker ps查看,可能会发现Ubuntu容器已经停止。
原因:Docker容器的生命周期与内部PID1进程共存亡。容器如果要在后台持续运行,内部必须有一个阻塞式的前台主进程;一旦主进程执行完毕或退居后台,Docker就会判定任务结束,容器也会随之退出。
4.2查看日志
bash
#1.查看docker logs帮助
docker logs --help常用参数:
| 参数 | 作用 |
|---|---|
--details | 显示日志额外详情 |
-f或--follow | 持续跟踪日志输出 |
--since string | 显示指定时间之后的日志 |
-n或--tail string | 查看末尾指定行数的日志 |
-t或--timestamps | 显示时间戳 |
--until string | 显示指定时间之前的日志 |
常用写法:
bash
docker logs -tf --tail [number] 容器id参数说明:
--tail number:只看最后几行。-t:显示精确到秒的时间戳。-f:持续跟踪日志。
4.3查看容器中的进程信息
bash
docker top 容器id示例:
bash
UID PID PPID C STIME TTY TIME CMD
root 4070367 4070344 0 18:13 ? 00:00:004.4查看容器元数据
bash
docker inspect 容器id说明:docker inspect用于查看容器或者镜像的详细元数据信息。
4.5进入正在运行的容器
bash
#1.进入容器后开启一个新终端,可以在里面操作
docker exec -it 容器id /bin/bash
#2.进入容器正在执行的终端,不会启动新的进程
docker attach 容器id4.6从容器拷贝文件到主机
bash
#语法
docker cp 容器id:容器内路径 目的地主机路径示例:
bash
#1.启动容器
ubuntu@Mystpet:~/blog$ docker run -it tomcat:latest /bin/bash
#2.新建文件
root@663302aac625:/usr/local/tomcat# echo "测试" > hello.txt
root@663302aac625:/usr/local/tomcat# exit
#3.把容器内文件拷贝到主机
ubuntu@Mystpet:/home$ docker cp 663302aac625:/usr/local/tomcat/hello.txt ~/
#4.查看主机文件
ubuntu@Mystpet:~$ ls
blog hello.txt idea minecraft