【docker】基础操作命令

docker run:干两步,本地找一下有没有集装箱,有运行,没有远程仓库下载运行。还没有报错。

docker好处:

  • 不需要进行物理层模拟,不需要hypervisor
  • 利用的内核是宿主机的内核,不需要重新加载Linux内核

镜像相关命令

docker images:展示目前本地所有镜像

options:

复制代码
1. -a 本地所有
2. -q 只显示镜像id



docker search 镜像名称

options:

复制代码
1. --limit: 只列出N个镜像默认25
参数 说明
NAME 镜像名称
description 镜像说明
STARS 点赞数量
OFFICIAL 是否官方
AUTOMATED 是否自动构建

docker pull 镜像名称[:TAG]

将远程镜像拉到本地。没有tag就是最新版本,latest。

可以存在不同版本的镜像。

docker system df

查看镜像/容器/数据卷所占用的空间

docker rmi

删除某名字id的镜像:

  1. -f 镜像ID 只删除一个
  2. -f 镜像1:tag 镜像2:tag 删除多个
  3. -f $(docker images -qa)全部删除

虚悬镜像:指的是repository与TAG 都是为的镜像

一般没啥用删掉就行。

容器命令

docker run [options] image [command] [arg...]

options:

复制代码
1. --name="容器名称"
2. -d 后台运行容器并且返回容器ID
3. -i 以交互式模式运行容器通常与-t一起使用
4. -t 为容器分配一个伪输入终端,启动交互式容器 
5. -P 随机端口映射
6. -p 设置IP以及端口号, IP:port

e.g:

在docker里面构造一个Ubuntu容器

docker run ubuntu -it /bin/bask

后面的/bin/bask表示需要使用Ubuntu里面的shell脚本

容器停止

  1. run 进入容器之后,输入exit退出,容器停止
  2. 按ctrl+p+q退出容器,但容器集训运行

docker start/restart/stop/kill 容器ID或者容器名称

启动已经停止的/重启/停止/强制停止容器

docker rm 容器ID删除容器

删除多个:

  1. docker rm -f $(docker ps -aq)
  2. docker ps -aq | xargs docker rm

守护式运行模式执行:

docker run -d 容器的名称

守护式容器即在后台进行运行,不会像-it在前端有任何显示。

但可能目前docker有可能会杀死后台运行的容器,认为没有交互他就有可能杀死

所以开启之后,进行docker ps 查看一下。

docker logs 容器id

查看容器日志

docker top 容器ID

查看容器内运行的进程

docker inspect 容器ID

查看容器内部细节

如果想重新回到后台运行的容器有两种方式,但是有一些区别

  1. docker exec -it 容器id bashShell
  2. docker attach 容器ID

他们之间的区别是,exec是相当于新开辟了一个交互界面,所以在exit之后,对原本的容器不会有太大的影响。

但是attach是没有开辟,相当于把原来的访问再次调用出来,在exit之后,如果没有前端访问,docker就会把这个容器停止。

将容器内的文件拷贝到主机上

docker cp 容器ID:容器内部路径 目的主机路径

导入导出容器:

  1. 将目前的容器打包:docker export 容器ID > 文件名.tar
  2. 将已有的tar包导入: cat 文件名.tar | docker import - 你想起的镜像用户/镜像名称:TAG号

然后就可以看到自己多了一个导入的镜像

相关推荐
user_admin_god13 小时前
服务器安装向量数据库-Docker版本
服务器·数据库·docker
@土豆13 小时前
K8s 单机二进制部署步骤(复制粘贴即可)
云原生·容器·kubernetes
张道宁1 天前
Windows 环境下 Docker 部署 YOLOv8 并集成 Spring Boot 完整指南
windows·yolo·docker
丈剑走天涯1 天前
kubernetes java app 部署使用harbor私服 问题集合
java·容器·kubernetes
lpfasd1231 天前
Kubernetes (K8s) 底层早已不再直接使用 Docker 引擎了
java·docker·kubernetes
不吃香菜kkk、1 天前
通过夜莺n9e监控Kubernetes集群
安全·云原生·容器·kubernetes
margu_1681 天前
【Docker】nscenter命令详解
运维·docker·容器
道清茗1 天前
【Kubernetes知识点问答题】Pod 调度
云原生·容器·kubernetes
内网渗透1 天前
Komari 部署教程:无数据库、单文件、Docker 一键启动的监控工具
数据库·docker·容器·内网穿透·cpolar·远程办公·komari
新猿易码1 天前
Docker 安装 MySQL 5.7.44(Mac M4 适配版)
mysql·docker