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_HOME 和 PATH 环境变量。

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

    复制代码
    docker build -t centos7-with-jdk .

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

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

    复制代码
    docker run -it --rm centos7-with-jdk java -version

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

相关推荐
分布式存储与RustFS13 小时前
群晖 NAS 被 C3RB3R 锁了:本地备份一起被加密,RustFS 对象锁为什么删不掉
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
真好啊又活了一天13 小时前
服务器和虚机配置IPV6
运维·服务器·github
zixu_star13 小时前
定时任务是什么?从日常自动化到 AI 应用,软件如何自动执行任务?
运维·人工智能·自动化
AR-26710-14 小时前
Linux Day33——定时任务+lvm
linux·运维
润滑卫士14 小时前
液压系统工作粘度窗口等级选型:泵允许粘度范围与油温-粘度匹配计算
运维
每月一号准时摆烂17 小时前
服务器运维笔记(一)——使用shell编写实时查看BMC功率的脚本
运维·服务器·笔记
时间售卖铺18 小时前
Chrony与SSH实战:精准时间同步与安全远程登录
运维·安全·云原生·ssh
微订校园外卖系统18 小时前
校园代取快递系统选型:现成系统与定制开发的技术核对项
大数据·运维·人工智能·外卖系统·本地生活·微订
QXWZ_IA18 小时前
管道GIS测绘如何实现自动化成图:三种成图方式怎么选
运维·人工智能·安全·自动化
一条破秋裤18 小时前
【1112】Linux中断【整理】
linux·运维·服务器