Lazy loaded image
Docker
00 分钟
2024-8-5
2024-11-23
type
status
date
slug
summary
tags
category
icon
password
comment
AI summary

Doker 安装java

notion image

1. 重启 Docker 服务

首先,尝试重启 Docker 服务:
然后再尝试搜索镜像:

2. 检查系统 DNS 配置

编辑 /etc/resolv.conf 文件
在文件中添加或修改以下行:
保存并退出 nano 编辑器,然后重启 Docker 服务:
再尝试搜索镜像:
notion image

3. 拉取java

安装
notion image

4. 运行 Java 容器

拉取镜像后,可以使用该镜像运行一个新的容器:
参数说明:
  • i: 交互式操作。
  • t: 终端。
查看已安装的镜像
notion image
各个选项说明:
  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

额外话题

1. 拉取官方 NGINX 镜

首先,从 Docker Hub 拉取官方的 NGINX 镜像:

2. 运行 NGINX 容器

拉取镜像后,可以使用该镜像运行一个新的容器:
这里的参数解释:
  • -name my-nginx:给容器命名为 my-nginx
  • d:在后台运行容器。
  • p 80:80:将主机的 80 端口映射到容器的 80 端口。
运行成功以后网络配置会多出端口
notion image
在浏览器中访问 http://localhost,如果在本地主机上运行 Docker,应该会看到 NGINX 的默认欢迎页面
notion image
或者通过命令查看
notion image
查看运行的镜像
notion image
 
停止运行镜像

docker exec

docker exec 命令用于在运行中的容器内执行一个新的命令。这对于调试、运行附加的进程或在容器内部进行管理操作非常有用。

语法

常用参数

  • d, --detach: 在后台运行命令。
  • -detach-keys: 覆盖分离容器的键序列。
  • e, --env: 设置环境变量。
  • -env-file: 从文件中读取环境变量。
  • i, --interactive: 保持标准输入打开。
  • -privileged: 给这个命令额外的权限。
  • -user, -u: 以指定用户的身份运行命令。
  • -workdir, -w: 指定命令的工作目录。
  • t, --tty: 分配一个伪终端。

实例

在容器内运行命令:
在运行中的 my_container 容器内执行 ls /app 命令,列出 /app 目录的内容。
以交互模式运行命令:
notion image
在运行中的 my_container 容器内启动一个交互式的 Bash shell。-i 保持标准输入打开,-t 分配一个伪终端。
在后台运行命令:
在运行中的 my_container 容器内后台执行 touch /app/newfile.txt 命令,创建一个新文件。
设置环境变量:
在运行中的 my_container 容器内执行 env 命令,并设置环境变量 MY_ENV_VAR 的值为 my_value。
以指定用户身份运行命令:
在运行中的 my_container 容器内以 user123 用户身份执行 whoami 命令。
指定工作目录:
在运行中的 my_container 容器内以 /app 目录为工作目录执行 pwd 命令。

使用场景

  • 调试容器: 进入容器内部进行调试和排查问题。
  • 管理任务: 在容器内运行附加的管理任务或维护操作。
  • 监控和检查: 在容器内执行监控和检查命令,获取运行状态和日志。

Dokerfile

vim Dokerfile
编辑完毕以后
notion image
notion image

指令详解

Dockerfile 指令
说明
FROM
指定基础镜像,用于后续的指令构建。
MAINTAINER
指定Dockerfile的作者/维护者。(已弃用,推荐使用LABEL指令)
LABEL
添加镜像的元数据,使用键值对的形式。
RUN
在构建过程中在镜像中执行命令。
CMD
指定容器创建时的默认命令。(可以被覆盖)
ENTRYPOINT
设置容器创建时的主要命令。(不可被覆盖)
EXPOSE
声明容器运行时监听的特定网络端口。
ENV
在容器内部设置环境变量。
ADD
将文件、目录或远程URL复制到镜像中。
COPY
将文件或目录复制到镜像中。
VOLUME
为容器创建挂载点或声明卷。
WORKDIR
设置后续指令的工作目录。
USER
指定后续指令的用户上下文。
ARG
定义在构建过程中传递给构建器的变量,可使用 "docker build" 命令设置。
ONBUILD
当该镜像被用作另一个构建过程的基础时,添加触发器。
STOPSIGNAL
设置发送给容器以退出的系统调用信号。
HEALTHCHECK
定义周期性检查容器健康状态的命令。
SHELL
覆盖Docker中默认的shell,用于RUN、CMD和ENTRYPOINT指令。
上一篇
安装docker
下一篇
bash自动化脚本