mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 12:21:17 +00:00
Fix and update
This commit is contained in:
@@ -2,6 +2,9 @@
|
||||
|
||||
### 什么是 Docker Hub
|
||||
|
||||
Docker Hub 是 Docker 的中央镜像仓库,通过它您可以轻松地分享和获取 Docker 镜像。
|
||||
|
||||
|
||||
[Docker Hub](https://hub.docker.com/) 是 Docker 官方维护的公共镜像仓库,也是全球最大的容器镜像库。
|
||||
|
||||
它提供了:
|
||||
@@ -16,6 +19,9 @@
|
||||
|
||||
#### 1. 搜索镜像
|
||||
|
||||
我们可以通过 `docker search` 命令来查找官方仓库中的镜像,并利用 `docker pull` 命令来将它下载到本地。
|
||||
|
||||
|
||||
除了网页搜索,也可以使用命令行:
|
||||
|
||||
```bash
|
||||
@@ -28,6 +34,8 @@ centos The official build of CentOS. 7000+ [OK]
|
||||
|
||||
#### 2. 拉取镜像
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker pull nginx:alpine
|
||||
```
|
||||
@@ -39,23 +47,28 @@ $ docker pull nginx:alpine
|
||||
```bash
|
||||
$ docker login
|
||||
## 输入用户名和密码
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```
|
||||
|
||||
打标签并推送:
|
||||
|
||||
```bash
|
||||
## 1. 标记镜像
|
||||
|
||||
$ docker tag myapp:v1 username/myapp:v1
|
||||
|
||||
## 2. 推送
|
||||
|
||||
$ docker push username/myapp:v1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 限制与配额(重要)
|
||||
### 限制与配额
|
||||
|
||||
#### 镜像拉取限制 (Rate Limiting)
|
||||
#### 镜像拉取限制
|
||||
|
||||
自 2020 年 11 月起,Docker Hub 对匿名和免费用户实施了拉取速率限制:
|
||||
|
||||
@@ -74,7 +87,10 @@ $ docker push username/myapp:v1
|
||||
|
||||
### 安全最佳实践
|
||||
|
||||
#### 1. 启用 2FA (双因素认证)
|
||||
#### 1. 启用 2FA(双因素认证)
|
||||
|
||||
为了保护您的 Docker Hub 账号安全,我们建议采取以下措施。
|
||||
|
||||
|
||||
在 Account Settings -> Security 中启用 2FA,保护账号安全。启用后,CLI 登录需要使用 **Access Token** 而非密码。
|
||||
|
||||
@@ -103,7 +119,7 @@ Docker Hub 会对官方镜像和付费用户的镜像进行安全扫描。在镜
|
||||
|
||||
---
|
||||
|
||||
### 自动构建 (Automated Builds)
|
||||
### 自动构建
|
||||
|
||||
> ⚠️ 目前仅限付费用户 (Pro/Team) 使用。
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
|
||||
#### 容器运行
|
||||
|
||||
如果您需要搭建私有仓库,可以通过官方提供的 `registry` 镜像快速部署。
|
||||
|
||||
|
||||
你可以使用官方 `registry` 镜像来运行。
|
||||
|
||||
```bash
|
||||
@@ -97,7 +100,10 @@ REPOSITORY TAG IMAGE ID CREAT
|
||||
|
||||
这是因为 Docker 默认不允许非 `HTTPS` 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制,或者查看下一节配置能够通过 `HTTPS` 访问的私有仓库。
|
||||
|
||||
#### Linux (systemd)
|
||||
#### Linux(systemd)
|
||||
|
||||
默认情况下,Docker 强制使用 HTTPS 协议推送镜像。如果您搭建的私有仓库是 HTTP 协议,需要进行如下配置。
|
||||
|
||||
|
||||
对于使用 `systemd` 的系统,请在 `/etc/docker/daemon.json` 中写入如下内容(如果文件不存在请新建该文件)
|
||||
|
||||
|
||||
@@ -125,6 +125,8 @@ threshold: 3
|
||||
|
||||
### 生成 http 认证文件
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ mkdir auth
|
||||
|
||||
@@ -136,7 +138,9 @@ $ docker run --rm \
|
||||
|
||||
> 将上面的 `username` `password` 替换为你自己的用户名和密码。
|
||||
|
||||
### 编辑 `docker-compose.yml`
|
||||
### 编辑 Docker Compose 配置
|
||||
|
||||
编辑 `docker-compose.yml` 配置如下:
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -154,7 +158,7 @@ volumes:
|
||||
registry-data:
|
||||
```
|
||||
|
||||
### 修改 hosts
|
||||
### 修改 Hosts 文件
|
||||
|
||||
编辑 `/etc/hosts`
|
||||
|
||||
@@ -164,6 +168,8 @@ volumes:
|
||||
|
||||
### 启动
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker compose up -d
|
||||
```
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
### 启动 Nexus 容器
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker run -d --name nexus3 --restart=always \
|
||||
-p 8081:8081 \
|
||||
@@ -44,7 +46,7 @@ $ docker exec nexus3 cat /nexus-data/admin.password
|
||||
|
||||
* **Name**: 仓库的名称
|
||||
* **HTTP**: 仓库单独的访问端口(例如:**5001**)
|
||||
* **Hosted -> Deployment pollcy**: 请选择 **Allow redeploy** 否则无法上传 Docker 镜像。
|
||||
* **Hosted -> Deployment policy**: 请选择**Allow redeploy** 否则无法上传 Docker 镜像。
|
||||
|
||||
其它的仓库创建方法请各位自己摸索,还可以创建一个 `docker (proxy)` 类型的仓库链接到 DockerHub 上。再创建一个 `docker (group)` 类型的仓库把刚才的 `hosted` 与 `proxy` 添加在一起。主机在访问的时候默认下载私有仓库中的镜像,如果没有将链接到 DockerHub 中下载并缓存到 Nexus 中。
|
||||
|
||||
@@ -52,11 +54,11 @@ $ docker exec nexus3 cat /nexus-data/admin.password
|
||||
|
||||
菜单 `Security->Realms` 把 Docker Bearer Token Realm 移到右边的框中保存。
|
||||
|
||||
添加用户规则:菜单 `Security->Roles`->`Create role` 在 `Privlleges` 选项搜索 docker 把相应的规则移动到右边的框中然后保存。
|
||||
添加用户规则:菜单 `Security->Roles`->`Create role` 在 `Privileges` 选项搜索 docker 把相应的规则移动到右边的框中然后保存。
|
||||
|
||||
添加用户:菜单 `Security->Users`->`Create local user` 在 `Roles` 选项中选中刚才创建的规则移动到右边的窗口保存。
|
||||
|
||||
### NGINX 加密代理
|
||||
### NGINX 反向代理配置
|
||||
|
||||
证书的生成请参见 [`私有仓库高级配置`](6.3_registry_auth.md) 里面证书生成一节。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user