【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号

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

相关推荐
二十雨辰8 分钟前
[linux]docker基础
linux·运维·docker
time never ceases40 分钟前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
YCyjs1 小时前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R1 小时前
K8s小白入门
云原生·容器·kubernetes
MonkeyKing_sunyuhua3 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林3 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€4 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘4 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者5 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器
阿尔帕兹7 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker