当前位置: 首页 > article >正文

Docker指令学习1

docker指令

查看镜像列表: docker images | docker image ls
删除单个镜像: docker rmi <image_name>:
强制删除镜像: docker rmi -f <image_id> 如果镜像正在被某些容器使用,普通删除命令会失败。使用 -f 选项强制删除镜像 注意:强制删除镜像会移除所有依赖于该镜像的容器,可能会导致数据丢失。
删除所有未使用的镜像: docker image prune
删除所有镜像: docker rmi $(docker images -q)
构建 Docker 镜像:[docker build -t <image_name>:<image_tag> . ] | [docker build -f Dockerfile名称 -t <image_name>:<image_tag> . ]
启动 Docker
启动一个临时容器:
docker run -it --entrypoint /bin/sh <image_name>:<image_tag>

脚本的替换

sed -i ‘s/\r$//’ start.sh

构建镜像

docker build -f Dockerfile1 -t <image_name>:<image_tag> .
docker build -f Dockerfile2 -t <image_name>:<image_tag> .
docker build -f Dockerfile3 -t <image_name>:<image_tag> .

将这两个步骤(删除旧容器、启动新容器)合并为一条命令的示例:

docker rm -f <容器_name> 2>/dev/null; docker run -d --name <容器_name> <image_name>:<image_tag>
docker rm -f <容器_name> 2>/dev/null; docker run -d --name <容器_name> <image_name>:<image_tag>
docker rm -f <容器_name> 2>/dev/null; docker run -d --name <容器_name> <image_name>:<image_tag>

将这三个步骤(构建镜像、删除旧容器、启动新容器)合并为一条命令的示例:

docker build -f Dockerfile1 -t <image_name>:<image_tag> . && docker rm -f <容器_name> 2>/dev/null && docker run -d --name <容器_name> <image_name>:<image_tag>

将这四个步骤(删除旧镜像、构建镜像、删除旧容器、启动新容器)合并为一条命令的示例:

docker rmi -f $(docker images -q <image_name>:<image_tag> 2>/dev/null) 2>/dev/null && docker build -f Dockerfile1 -t <image_name>:<image_tag> . && docker rm -f <容器_name> 2>/dev/null && docker run -d --name <容器_name> <image_name>:<image_tag>

docker容器注册Nacos中的IP为宿主机IP(–network host )

docker run -d --name <容器_name> --network host <image_name>:<image_tag>

进入容器一条命令

docker exec -it $(docker ps | grep <容器_name> | awk ‘{print $1}’) /bin/bash


http://www.kler.cn/news/314575.html

相关文章:

  • 【Kubernetes】常见面试题汇总(二十七)
  • 【网络安全 | 代码审计】PHP无参数RCE
  • 从图像处理到字符识别:基于STM32与C语言的车牌识别系统实现
  • HarmonyOS开发者基础认证考试试题
  • 基于mockito做单元测试
  • 16【Protues51单片机仿真】智能洗衣机倒计时系统
  • 【如何在 Windows 10 主机上通过 VMware 安装 Windows 11 虚拟机,并共享主机网络】
  • ftp服务的管理及安全优化
  • Google 扩展 Chrome 安全和隐私功能
  • C/C++通过CLion2024进行Linux远程开发保姆级教学
  • io多路复用:epoll水平触发(LT)和边沿触发(ET)的区别和优缺点
  • Linux 自旋锁
  • Spring Mybatis 动态语句 总结
  • 简单生活的快乐
  • (k8s)kubernetes集群基于Containerd部署
  • Flask-SQLAlchemy一对多 一对一 多对多关联
  • GDPU Andriod移动应用 Activity
  • 【数据结构与算法】LeetCode:哈希表
  • Alinx MPSoC驱动开发第17章I2C实验修改设备树后petalinux编译报错
  • 分布式Id生成策略-美团Leaf
  • 使用python对图像批量水平变换和垂直变换
  • 深度学习参数管理
  • MySQL-DDL/DML(数据定义/操作语言)
  • GIS开发之如何使用OpenLayers,Leaflet,Mapbox,Cesium,ArcGIS, Turf.js 与 D3.js
  • 【Webpack--00802】配置Babel语法兼容
  • 【图像检索】基于Gabor特征的图像检索,matlab实现
  • Python面试宝典第50题:分割等和子集
  • Vscode、插件历史版本下载
  • [数据结构与算法·C++] 笔记 1.4 算法复杂性分析
  • [附源码]SpringBoot+VUE+Java实现人脸识别系统