docker - 容器镜像常用命令

容器相关

# 查看正在运行的容器
docker ps
# 查看所有容器
docker ps -a
# 格式化输出,有时候信息太杂,需要简化输出内容
docker ps --format '{{.ID}}\t{{.Image}}'
# 查看最后一次运行的容器
docker ps -l
# 查看停止的容器
docker ps -f status-exited

# 停止容器
docker stop [container_id]
# 启动容器
docker start [container_id]
# 重启容器,如果容器有重启策略,使用这个命令,可能会出现两个一模一样的容器
docker restart [container_id]

# 移除单个容器
docker rm [container_id]

  • container_id:运行镜像之后,自动生成的唯一ID
  • command:命令,容器打包需要记住这个
  • created:创建日期,可以验证有没有被人重启过
  • status:当前状态

镜像相关

镜像名称有 3 种不同的情况:

# “镜像名”
# 例:tomcat

# “镜像名+ID”
# 例:tomcat:lastest

# “仓库地址+镜像名称+版本号”,自己安装的镜像仓库,通常要用这种格式,
# 例:localhost:8080/tomcat:8

常用命令

# 查看镜像
docker images

# 拉取镜像,例:docker pull tomcat
docker pull [image]
docker pull [image]:[tag]
docker pull [repository][image]:[tag]

# 移除镜像
docker rmi [image_id]

# 强制删除
docker rmi -f  [image_id] 

  • repository 直译为 “仓库”,实际就是日常所说的“镜像名称”;
  • tag 标签,可以理解成版本号;
  • image_id 拉取镜像时,系统自动生成的唯一ID。

运行镜像

创建容器

# 基本语法结构,常用的一般就下面这些
docker run -di --name=名称 -p 宿主机端口:容器端口 -v 挂载文件:容器目录 镜像:版本 

# 样例运行tomcat
docker run -d -p 8080:8080 --name tomcat_hello tomcat:8

--name:容器命名
-i:表示运行容器
-t:启动容器后,为容器分配一个命令行,通常与 -i 同时使用
-d:守护进程,后台运行该容器,通常与 -i 同时使用

-v:挂载,将数据卷或者宿主机文件夹,挂载进容器,格式: [宿主机目录]:[容器目录]
-p:端口映射,用主机端口访问容器端口,格式:[宿主机端口]:[容器端口]
-P:大写的P,会给主机随机分配端口
-e:环境变量,格式:[name]=[value]
-u 以什么用户身份创建容器
-m, --memory bytes 设置容器使用内存最大值
-h, --hostname string 指定容器的 host name

–dns 指定容器 dns 服务器
–restart Docker重启后,容器是否自动重启
–privileged 容器内是否使用真正的 root 权限

进入容器

docker exec -it [container_id] /bin/bash

# 进入容器之后,因为没有安装软件,只能用一些基础命令

# 想要退出的话,使用 exit 命令

精简 docker

精简 docker,清理未使用的资源。

未被使用不代表没用,所以说命令存在一定的风险,尤其是 system 命令,一定要确定你当前的需求。

# 这个命令会删除所有未被使用的资源,包括未被使用的镜像、容器、网络和数据卷等
docker system prune
docker system prune -a

# 移除所有容器
docker rm $(docker ps -aq)

# 移除所有未运行的容器
docker container prune
# 移除所有未运行的容器
docker rm `docker ps -a|grep Exited|awk '{print $1}'`

# 清理未被容器使用的数据卷
docker volume prune

容器设置开机自启

  1. 使用 docker run 命令运行时

结尾增加 --restart=always 参数即可

  1. 使用 docker-compose 命令运行时

在 yml 文件中,需要自启动的 service 下增加 restart: always 项目即可

  1. 已运行的容器修改其自启动策略

执行命令:

# 一般记住这个就行
docker update --restart=always [containter_id]

# 其它自启策略
docker container update --restart=[容器策略] [containter_id]

# 容器策略选项如下
# no 容器退出时不重启容器
# on-failure 只有在非零状态退出时才重新启动容器
#           --restart=on-failure:【重启次数】
# always 无论退出状态如何都会重启容器![img.png](img.png)

状态查看

# 查看容器是否已经部署
docker ps -a

# 查看进程
ps -aux|grep java
ps -ef|grep java

# 查看端口是否能连接得上,输入 quit 结束此命令
telnet 192.168.1.113 6379

# 查看端口使用情况
netstat -unltp|grep fdfs

posted on 2024-05-20 22:37  疯狂的妞妞  阅读(10)  评论(0编辑  收藏  举报

导航