type
status
date
slug
summary
tags
category
icon
password
comment
AI summary
Doker 安装java
1. 重启 Docker 服务
首先,尝试重启 Docker 服务:
然后再尝试搜索镜像:
2. 检查系统 DNS 配置
编辑
/etc/resolv.conf
文件在文件中添加或修改以下行:
保存并退出
nano
编辑器,然后重启 Docker 服务:再尝试搜索镜像:
3. 拉取java
安装
4. 运行 Java 容器
拉取镜像后,可以使用该镜像运行一个新的容器:
参数说明:
- i: 交互式操作。
- t: 终端。
查看已安装的镜像
各个选项说明:
- 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 端口。
运行成功以后网络配置会多出端口
在浏览器中访问
http://localhost
,如果在本地主机上运行 Docker,应该会看到 NGINX 的默认欢迎页面
或者通过命令查看
查看运行的镜像
停止运行镜像
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 目录的内容。
以交互模式运行命令:
在运行中的 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
编辑完毕以后
指令详解
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指令。 |
- 作者:Anthony
- 链接:https://github.com/lazyBoy1998/article/docker
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。