Docker常用命令
帮助命令
docker version #docker版本信息
docker info 查看docker的系统信息,包括镜像和容器
docker 命令 --help 帮助命令,查看可用的参数
镜像命令
docker images 查看本地的镜像
REPOSTITORY 镜像的仓库源头
TAG 镜像的仓库标签
IMAGE ID 镜像的ID
CREATED 镜像的创建时间
SIZE 镜像的大小
可选项
-a 列出所有镜像
-q 只显示镜像的id
docker search 搜索镜像
可选项
--filter=stars=3000 以过滤的方式搜索镜像,如只要点赞数大于3000的镜像
docker pull 镜像名:TAG 下载镜像
Using default tag: latest 不写tag则默认tag为latest
latest: Pulling from library/mysql
e54b73e95ef3: Pull complete 分层下载,docker images 的核心 联合文件系统
327840d38cb2: Pull complete
642077275f5f: Pull complete
e077469d560d: Pull complete
cbf214d981a6: Pull complete
7d1cc1ea1b3d: Pull complete
d48f3c15cb80: Pull complete
94c3d7b2c9ae: Pull complete
f6cfbf240ed7: Pull complete
e12b159b2a12: Pull complete
4e93c6fd777f: Pull complete
Digest: sha256:152cf187a3efc56afb0b3877b4d21e231d1d6eb828ca9221056590b0ac834c75防伪签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest 真实地址
docker pull mysql等价于 docker.io/library/mysql:latest
docker rmi 镜像名 删除镜像
docker rmi -f 容器id 删除指定容器
docker rmi -f 容器id 容器id ... 删除多个容器
docker rmi -f $(docker images -aq) 删除全部容器
容器命令
docker run [可选参数] 镜像名:TAG 命令(不写默认为/bin/bash)
--name='Name' 容器名字,用来区分容器 -d 后台运行方式
-it 使用交互方式运行,进入容器进行查看
-p 指定容器端口进行映射 如ip:主机端口:容器端口 、主机端口:容器端口(常用)
退出容器:exit
列出所有运行的容器: docker ps
-a 列出所有的容器,包括不在运行的容器
-n=? 列出最近创建的n个容器
-q 只显示容器编号
删除容器
docker rm 容器id 删除指定容器,不能删除正在运行的容器,强制删除为docker rm -f
docker rm -f $(docker ps -aq) 删除全部容器
启动和停止容器
docker start id 开启容器
docker restart id 重启容器
docker stop id 停止容器
docker kill id 强制停止容器
常用的其他命令
1.常见的坑:docker容器使用后台运行,就必须要有一个前台进程,dcoker发现没有应用程序就会自动停止。
查看日志命令
docker logs -f -t --tail 10 id 显示指定行数的日志
-tf 显示日志和时间
-tail number 显示的日志条数
查看容器内部进程信息
docker top 容器id
查看镜像的元数据
docker inspect 容器id
进入当前正在执行运行的容器
我们通常容器都是通过后台运行的,需要进入容器,修改一些配置
docker exec -it id /bin/bash
docker exec是进入容器后开启一个新的终端,可以在里面操作(常用),而docker attach是进入容器正在执行的终端,不会开新的
从容器拷贝文件到主机
拷贝容器的文件到主机中
docker cp 容器id:容器内路径 目的主机路径
拷贝宿主机的文件到容器中
docker cp 目的主机路径 容器id:容器内路径
拷贝是一个手动的过程,未来我们使用-v 卷的技术可以实现自动同步
可视化界面portainer安装
docker run -d -p 192.168.124.128:9000:9000 --restart=always -v /var/run/docker.sock:/var/run/doker.sock --privileged=true portainer/portainer