本文共--字 阅读约--分钟 | 浏览: -- Last Updated: 2022-07-06
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
docker info
docker help
docker 具体命令 --help
列出本地主机上的镜像:docker images
,-a
列出本地所有镜像,-q
只显示镜像id,-qa
显示本地所有镜像的id。
查找某个镜像(在远程仓库上查找)docker search 镜像名字
,使用 docker search --limit 5 镜像名字
只列出前5条。
docker pull 镜像名字[:TAG]
,不使用TAG,默认下载最新版latest。docker system df
docker rmi 镜像名字/id
,加-f
可强制删除,删除多个docker rmi -f 镜像名1:TAG 镜像名2:TAG
,删除全部docker rmi -f $(docker images -qa)
即仓库名和标签都是都是<none>
的镜像。
新建、启动容器
# 如果本地没有对应镜像 会自动去远程拉取 所以可以直接run 而不用先pull
docker run [OPTIONS] IMAGES [COMMAND] [...ARGS]
options说明如下:
-p 8080:80
,宿主机端口:容器端口。示例如下:
# 交互模式启动一个容器(根据redis镜像),并在容器内执行bash命令
docker run -it redis bash
docker run -it redis /bin/bash
docker run -it redis redis-cli
列出所有正在运行的容器
docker ps -n 1
退出容器
启动已停止运行的容器:docker start 容器名/容器ID
重启容器:docker restart 容器名/容器ID
停止容器:docker stop 容器名/容器ID
强制停止容器:docker kill 容器名/容器ID
删除已停止的容器:docker rm 容器名/容器ID
,-f
强制删除,强制删除所有容器docker rm -f $(docker ps -qa)
或者使用管道符 docker ps -qa | xargs docker rm -f
查看容器日志:docker logs 容器id
查看容器内运行的进程:docker top 容器id
查看容器内部细节:docker inspect 容器id
进入正在运行的容器并以命令行交互:docker exec -it 容器id bash
,还有一个docker attach 容器id
。区别在于,attach直接进入容器启动命令的终端,不会启动新的进程,使用exit退出会导致容器停止。exec是在容器中打开新的终端,并且可以启动新的进程,使用exit退出,不会导致容器的停止。
从容器内拷贝文件到宿主机上:docker cp 容器id:容器内路径 主机目录
# 将容器上的a.txt拷贝到 /opt目录下
docker cp 容器id:/tmp/a.txt /opt
从宿主机拷贝文件到容器上:docker cp 主机目录 容器id:容器内路径
# 拷贝某个文件到 /usr/dist牡蛎下
docker cp /opt/test.js 容器id:/usr/dist
# 拷贝opt整个文件夹 到容器/usr/dist 目录下
docker cp /opt 容器id:/usr/dist
# 拷贝opt下所有文件到容器 /usr/dist 目录下
docker cp /opt/. 容器id:/usr/dist
导出: docker export 容器id > xx.tar
,导出到当前目录。
导入:cat xx.tar | docker import - 镜像用户/镜像名:镜像版本号
查看容器的CPU、内存以及网络流量等数据:docker stats