侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【Docker】常用命令

Administrator
2022-03-06 / 0 评论 / 0 点赞 / 97 阅读 / 8304 字

【Docker】常用命令

常见命令

Docker服务操作

systemctl status docker.service
systemctl start docker.service
systemctl restart docker.service
systemctl stop docker.service

Docker --help

  • 查看docker帮助
docker --help 

Docker version

  • 查看docker版本号
docker version 

Docker info

  • 查看docker信息
docker info 

镜像命令

Docker images

  • 列出当前docker中所有的镜像
docker images (-aq) 

一个镜像的名称:REPOSITORY + TAG

-q:只显示镜像的ID

  • 显示镜像的摘要信息
docker images --digests 
  • 显示镜像的完整信息
docker images --no-trunc 
  • 查询指定仓库和TAG的镜像ID
docker images | grep -w "jeecg-cloud-gateway" | grep -w "1.0.2" | awk '{print $3}'
  • 查询名称为tomcat的镜像
docker search tomcat 

STARS:相当于GITHUB中的星,STARS越高说明镜像越好

  • 查询STARS数大于30的镜像
docker search --filter=stars=30 tomcat 
docker search -s 30 tomcat 

Docker pull

  • 拉取nginx镜像
docker pull nginx 

镜像名称后面可以通过:指定版本号,如不指定,默认拉取最新的

Docker rmi

  • 删除指定镜像
docker rmi nginx:latest 

如果待删除的镜像已经有容器则会报异常,此时可以指定-f参数进行强制删除

如果要一次性删除多个镜像,则可以在rmi后面填写多个镜像名称,以空格隔开

  • 一次性删除全部镜像
docker rmi -f $(docker images -q) 

该命令会先运行$()中的命令,结果作为外面命令的参数

Docker build

  • 根据Dockerfile创建镜像
docker build -t sbm-image /opt/sbm

-t sbm-image:指定创建出来的镜像名称

/opt/sbm:包含Dockerfile的目录

docker build -f /opt/sbm/Dockfile.debug -t sbm-image 

-t sbm-image:指定创建出来的镜像名称

-f /opt/sbm/Dockfile.debug:指定Dockerfile文件

docker build -f uker-medicine-site/Dockerfile.medicine -t a:develop .

-t a:develop:指定创建出来的镜像名称

-f uker-medicine-site/Dockerfile.medicine : 指定Dockerfile文件为当前目录下面的uker-medicine-site目录下面的Dockerfile.medicine

容器命令

Docker run

  • 启动tomcat容器
docker run -it -d --name my-tomcat -e LANG=en_US.UTF-8 -p 9090:8080 8973f493aa0a 

-d:让容器在后台运行,其实就是一个进程

-it:交互方式启动

--name:给容器指定一个名字

-e LANG=en_US.UTF-8:指定容器支持中文

-p:将容器的端口映射到宿主机的端口,可添加多个端口映射,e.g. -p 9090:8080 -p 9091:8081

8973f493aa0a:tomcat镜像的ID

  • 创建容器并限制cpu和内存
docker run -d -it --cpu-shares 10 --memory 100M --name my-tomcat2 -p 8081:8080 tomcat

--cpu-shares 10:CPU权重10%

--memory 100M:内存限制

Docker ps

  • 列出所有正在运行的容器
docker ps (-q) 

STATUSUP表示容器已启动

-q:表示只显示镜像ID

  • 显示最近创建的所有容器
docker ps -a 
  • 显示最近创建的一个容器
docker ps -l 
  • 显示最新创建的n个容器
docker ps -n 3 
  • 查看包含某个指定名称的容器
docker ps | grep nginx

Docker start

  • 启动所有的容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) 

Docker stop

  • 关闭所有的容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2) 

Docker rename

  • 容器重命名
docker rename my-redis redis5.0.6

Docker update

  • 设置容器开机启动
docker update --restart=always 容器ID

always:无论退出状态是如何,都重启容器

no:容器退出时,不重启容器

on-failure:Docker将尝试重新启动容器的最大次数,比如:docker run --restart=on-failure:10 redis,表示最多启动redis容器10次。

Docker rm

  • 删除单个容器
docker rm 容器ID
  • 一次性删除全部容器
docker rm -f $(docker ps -qa) 

Docker exec

  • 进入容器
docker exec -it 容器ID /bin/bash
docker exec -it 容器ID sh

Docker status

  • 查看容器的资源使用情况
docker stats 容器ID

Docker logs

  • 查看容器日志
docker logs 容器ID

Docker inspect

  • 查看容器详情信息
docker inspect 容器ID

Docker commit

  • 根据容器生成镜像
docker commit 容器名称 容器镜像名称

Docker copy

  • Docker容器向宿主机传送文件
docker cp 10704c9eb7bb:/root/test.text /home/vagrant/test.txt

10704c9eb7bb:容器ID

/root/test.text:Docker容器内的文件

/home/vagrant/test.txt:宿主机文件

  • 宿主机向Docker容器传送文件
docker cp /home/vagrant/test.txt 10704c9eb7bb:/root/test.text

/home/vagrant/test.txt:宿主机文件

10704c9eb7bb:容器ID

/root/test.text:Docker容器内的文件

其他命令

Docker login

  • 登录harbor镜像仓库
docker login 192.168.247.130:8088 -u admin -p Harbor12345

192.168.247.130:8088:镜像仓库地址

admin:账号

Harbor12345:密码

  • 登录阿里云Docker Registry
docker login --username=daijiong@1192972714412550 registry.cn-hangzhou.aliyuncs.com

daijiong@1192972714412550:阿里云子账号

registry.cn-hangzhou.aliyuncs.com:阿里云Docker Registry地址

  • 将镜像推送到阿里云Docker Registry
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/successhr/base-image:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/successhr/base-image:[镜像版本号]
  • 从阿里云Docker Registry中拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/successhr/base-image:[镜像版本号]
0

评论区