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

Docker基本命令和Docker怎么自己制作镜像

基本命令

启动新的容器(指定容器名称和端口映射【主机端口:容器端口】)

docker run --name 容器名 -p 8080:80 镜像名

启动新的容器(交互式)

docker run -it centos7-with-jdk /bin/bash

特权方式启动容器

docker run -d --name 容器名 --privileged=true 镜像名 /usr/sbin/init

启动已有的容器

docker start 容器名

查看所有容器

docker ps -a

查看正在运行中的容器

docker ps

停止容器

docker stop <容器ID或容器名称>

进入容器

docker exec -it 容器名 /bin/bash

退出容器

exit
如果你是通过 docker run -it 或类似选项以交互模式进入容器的,可以使用快捷键 Ctrl + D 或 Ctrl + C 来退出容器。

删除容器

docker rm 容器名

修改容器名称

docker rename 旧容器名称 新容器名称

查看当前用户身份

whoami

Linux下查看容器IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名称或ID>

Windows下查看容器IP

docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" <容器名称或ID>

制作镜像

docker build -t 镜像名 .

Docker制作镜像

  1. 下载 CentOS 7 镜像:打开终端或命令提示符窗口,并运行以下命令来下载 CentOS 7 的官方镜像:

    docker pull centos:7
  2. 创建一个 Dockerfile:在你的工作目录中创建一个名为 Dockerfile 的文件,并使用文本编辑器打开它。

  3. 编写 Dockerfile 内容:在 Dockerfile 中写入以下内容,用于构建镜像:

    FROM centos:7
    ​
    # 安装 JDK
    RUN yum update -y && \yum install -y java-1.8.0-openjdk-devel && \yum clean all
    ​
    # 设置环境变量
    ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk
    ENV PATH $PATH:$JAVA_HOME/bin

    在上述 Dockerfile 中,首先基于 CentOS 7 镜像创建一个新的镜像,然后安装 JDK(这里安装的是 OpenJDK 8)。最后设置了 JAVA_HOMEPATH 环境变量。

  4. 构建镜像:保存 Dockerfile 文件后,在终端或命令提示符窗口中,切换到 Dockerfile 所在的目录,并运行以下命令来构建镜像:

    docker build -t centos7-with-jdk .

    这将根据 Dockerfile 的内容构建并打上名为 centos7-with-jdk 的镜像标签。注意最后的 . 表示使用当前目录作为构建上下文。

  5. 验证镜像:构建完成后,你可以运行以下命令来验证新创建的镜像是否正常工作:

    docker run -it --rm centos7-with-jdk java -version

    如果一切顺利,它将显示安装的 JDK 版本信息。

http://www.lryc.cn/news/266161.html

相关文章:

  • Netty-2-数据编解码
  • 伽马校正:FPGA
  • 【SpringCloud笔记】(8)服务网关之GateWay
  • Compose常用布局
  • 使用keytool查看Android APK签名
  • 数据库学习日常案例20231221-oracle libray cache lock分析
  • 【数据结构】最短路径算法实现(Dijkstra(迪克斯特拉),FloydWarshall(弗洛伊德) )
  • 算法模板之队列图文详解
  • [node]Node.js 中REPL简单介绍
  • AtomHub 开源容器镜像中心开放公测,国内服务稳定下载
  • java8实战 lambda表达式、函数式接口、方法引用双冒号(中)
  • FPGA高端项目:UltraScale GTH + SDI 视频编解码,SDI无缓存回环输出,提供2套工程源码和技术支持
  • 为什么react call api in cDidMount
  • openGauss学习笔记-171 openGauss 数据库运维-备份与恢复-导入数据-深层复制
  • [kubernetes]控制平面ETCD
  • 序列化类的高级用法
  • 4.svn版本管理工具使用
  • ZKP Algorithms for Efficient Cryptographic Operations 1 (MSM Pippenger)
  • Windows系统安装 ffmpeg
  • 油猴脚本教程案例【键盘监听】-编写 ChatGPT 快捷键优化
  • 数据结构 | 查漏补缺
  • 回溯算法练习题
  • 代码随想录算法训练营 | day60 单调栈 84.柱状图中最大的矩形
  • vscode中vue项目报错
  • 「数据结构」二叉树2
  • 数据处理系列课程 01:谈谈数据处理在数据分析中的重要性
  • C++卡码网题目55--右旋字符串
  • 八股文打卡day8——计算机网络(8)
  • 亚马逊推出 Graviton4:具有 536.7 GBps 内存带宽的 96 核 ARM CPU
  • 跨域问题的解决