docker学习记录

231 阅读3分钟

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