docker命令看这一篇就够用了

安装

yum install docker-ce

启动

systemctl start docker

镜像常用指令

搜索镜像
docker search 镜像名称
docker search nginx

在这里插入图片描述

查看镜像版本

search 只能查找出是否有该镜像,无法找到该镜像得版本,还需要进入docker hub官网搜索对应版本的镜像,选择对应镜像,再查找Description下的Supported tags and respective Dockerfile links 就是支持的版本

image20210625082902417.png

下载镜像
docker pull 镜像名称:版本  不加版本则下载默认的版本
docker pull nginx:1.20.1

image20210625083035695.png

列出已经下载的镜像
docker images

image20210625082740328.png

REPOSITORY : 库中镜像名称

TAG : 版本号

IMAGE ID : 镜像 ID

CREATED : 镜像在库中创建的时间

SIZE : 镜像大小

删除镜像

删除指定名称的镜像

docker rmi 镜像名称:版本号  必须指定镜像名称和版本号 镜像名称+版本号才是唯一标识
docker rmi nginx:1.20.1

image20210625083941256.png

强制删除指定名称的镜像

docker rmi -f 镜像名称:版本号
docker rmi -f nginx:1.20.1

删除没有引用的镜像,

docker rmi `docker images | grep none | awk '{print $3}'`
grep none 通过管道查找引用为none的镜像名称
awk '{print $3}' 第三列的值 对于上面的命令就是IMAGE ID的值

强制删除所有镜像

docker rmi -f $(docker images)
打包镜像
docker build -t 镜像库/镜像名称:镜像版本号 .使用当前目录下的dockerfile文件
docker build -t local-blog/blog:1.0.0 .
推送镜像
# 登录docker hub
docker login
# 给本地镜像打包为远程仓库名称
docker tag local-blog/blog:1.0.0 blog/blog:1.0.0
# 推送到远程仓库
docker push blog/blog:1.0.0

容器常用指令

新建并启动容器
docker run -p 80:80 --name nginx 
-e TZ="Asia/Shanghai" 
-v /data/nginx/html:/usr/share/nginx/html 
-d nginx:1.20.1

-p:将宿主机和容器端口进行映射 格式:宿主机port:容器port

–name:指定容器名称,之后可以通过容器名称操作容器

-e:设置日你过去的环境变量,TZ设置的是时区

-v:将宿主机上的文件挂载到容器内,格式:宿主机文件目录:容器文件目录

-d:容器以后台方式运行

列出容器

列出正在运行的容器

docker ps

image20210625094035227.png

CONTAINER ID:容器 ID

IMAGE:镜像名称

COMMAND:命令

CREATED:容器创建时间

STATUS:当前状态

PORTS:端口

NAMES:容器名称

列出所有的容器

docker ps -a
启动容器
docker start 容器名称或者容器ID
docker start nginx1.20.1
或者
docker start a10e817ea7a0
停止容器
docker stop 容器名称或者容器ID
docker stop nginx1.20.1
或
docker stop a10e817ea7a0
强制停止容器
docker kill 容器名称或者容器ID
docker kill nginx1.20.1
或
docker kill a10e817ea7a0
进入容器

查询容器的pid:

docker inspect nginx1.20.1 获取容器的元数据
docker inspect --format "{{.State.Pid}}" nginx1.20.1

根据容器的pid进入容器

pid:容器的pid
nesenter --target pid --mount --uts --ipc --net --pid
删除容器

删除指定容器

docker rm 容器名称或者容器ID
docker rm nginx1.20.1
或者
docker rm a10e817ea7a0

按照名称通配符删除容器,删除以nginx-开头的容器

docker rm `docker ps -a | grep nginx-* | awk '{print $1}'`

强制删除所有的容器

docker rm -f #(docker ps -a -q)
查看容器的日志

查看容器产生的全部日志

docker logs 容器id或者容器名称
docker logs nginx1.20.1
或者docker logs a10e817ea7a0

动态查看容器的日志

docker logs -f 容器id或者容器名称
docker logs -f nginx1.20.1
或者docker logs -f a10e817ea7a0
查看容器的ip地址

这类数据基本上都在容器的元数据中

查看容器的元数据
docker inspect 容器id或者容器名称
docker inspect nginx1.20.1
查看地址
docker inspect --format "{{.NetworkSettings.IPAddress}}" nginx1.20.1
修改容器的启动方式
将nginx1.20.1的重启策略改为always
docker container update --restart=always nginx1.20.1
查看容器资源的占用情况

查看指定容器的资源占用情况,入cpu、内存、网络、io

docker stats nginx1.20.1

image20210625102609976.png

查看所有容器的资源占用情况

docker stats
查看容器磁盘使用情况
docker system df

image20210625102750933.png

TYPE:类型 镜像 容器 局部体积 生成缓存

TOTAL:数量

ACTIVE:有效或运行的数量

SIZE:大小

RECLAIMABLE:可回收占比

执行容器内部指令
docker exec -it nginx1.20.1 /bin/bash

image20210625103331143.png

使用指定账号进入容器内部
# 使用root账号进入容器内
docker exec -it --user root nginx1.20.1 /bin/bash
查看所有网络
docker network ls

image20210625103738968.png

创建外部网络
docker network create -d bridge bridge1	
指定容器网络
docker run -p 80:80 --name nginx1.20.1 --network bridge1 -d nginx:1.20.1
修改镜像存放的位置

查看docker镜像存放的位置

docker info | grep "Docker Root Dir"

image20210625104319614.png

关闭docker服务

systemctl stop docker

先将原镜像目录移动到目标目录

mv /var/lib/docker /data/docker

建立软连接

ln -s /data/docker /var/lib/docker/images

启动后查看镜像位置已经更改

image20210625105009672.png

docker容器清理

查看docker占用磁盘空间情况

docker system df

删除没有tag的镜像

docker rmi `docker images | grep none | awk "{print $3}"`
l stop docker

先将原镜像目录移动到目标目录

mv /var/lib/docker /data/docker

建立软连接

ln -s /data/docker /var/lib/docker/images

启动后查看镜像位置已经更改

在这里插入图片描述

docker容器清理

查看docker占用磁盘空间情况

docker system df

删除没有tag的镜像

docker rmi `docker images | grep none | awk "{print $3}"`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值