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 版本信息。

相关推荐
Java陈序员1 天前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
爱吃橘子橙子柚子2 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
Sheffield3 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield3 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽3 天前
win10下运行Start Broker and Proxy报错解决
docker
舒一笑4 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData4 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
用户13573999256604 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h4 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔4 天前
通过 Docker 创建开发环境
docker·开发环境