32 Commits

Author SHA1 Message Date
Baohua Yang
3a9d4bff61 Merge pull request #549 from CNAHYZ/patch-1
Update figure's path
2024-12-25 19:49:09 -08:00
intfoo
4bc29c0300 Update overview.md 修复图片地址问题 2024-12-25 16:20:30 +08:00
Kang Huaishuai
65bc905920 Update registry mirror 2024-11-23 23:23:50 +08:00
Baohua Yang
1b7d941fcd Merge pull request #548 from trevanlye/patch-1
Add go init
2024-11-20 10:17:28 -08:00
Baohua Yang
e0ff3d315a Merge pull request #542 from upbeat-backbone-bose/master
Update django version
2024-11-20 10:16:04 -08:00
trevanlye
09de77b543 Update README.md
we need 'go mod init first' before 'go get'
2024-11-11 11:05:23 +08:00
debian-go
344fc8bd3c Merge branch 'yeasy:master' into master 2024-11-08 11:42:06 +08:00
Baohua Yang
7ec5772432 Merge pull request #546 from liangbinfudan/master
ubuntu.md update #545
2024-09-26 16:38:42 -07:00
Hugo Dock
355dd3b051 Update ubuntu.md
The relationships among Ubuntu LTS versions have been described, and the relevant scripts have been modified slightly
2024-09-19 13:09:38 +08:00
Baohua Yang
ca011164c2 Merge pull request #543 from my-vegetable-has-exploded/debian11
Add suggestion for gpg in debian11
2024-07-30 14:02:19 -07:00
yi wang
0f2956a646 Update debian.md 2024-07-29 22:25:02 +08:00
debian-go
da7991660e Merge pull request #1 from upbeat-backbone-bose/dependabot/pip/compose/demo/django/pip-062e67ef1e
Update django requirement from <3.0,>=2.0 to >=5.0.6,<6.0 in /compose/demo/django in the pip group across 1 directory
2024-07-09 10:26:30 +08:00
dependabot[bot]
391c6364a0 Update django requirement
Updates the requirements on [django](https://github.com/django/django) to permit the latest version.

Updates `django` to 5.0.6
- [Commits](https://github.com/django/django/compare/2.0...5.0.6)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 02:26:13 +00:00
Baohua Yang
99433b2e45 Merge pull request #540 from RockChinQ/master
Add error solution for docker installation on raspi OS
2024-02-03 19:46:31 -08:00
RockChinQ
32c6a91aa9 doc(raspberry-pi): tested on bookworm 2024-02-02 23:03:39 +08:00
RockChinQ
bea7b8d3f4 doc(raspberry-pi.md): error solution for bullseye 2024-02-02 10:36:14 +08:00
Baohua Yang
1be1db5a43 Merge pull request #538 from CybCom/master
Fix CI error
Close issue #537
2023-12-29 16:27:59 -08:00
CybCom
7052cea8a3 refactor(workflows): 💚 Update the YAMLs for GitHub workflows
Update the out dated action version. Remove redundant/useless lines. Some other updates.
2023-12-23 01:01:32 +08:00
CybCom
584087ad46 ci(workflows): 💚 Try to confirm and fix CI error:0308010C
There might be a conflict between the new version node.js and this project's dependencies, according to CI Error message "error:0308010C:digital envelope routines::unsupported". Try to confirm and fix it by specifying the old styled openssl.
2023-12-22 18:27:38 +08:00
Baohua Yang
dd6b022429 Merge pull request #536 from CybCom/master
Fix expression of using init
2023-12-20 14:43:33 -08:00
CybCom
46020ff786 fix(image\dockerfile\cmd.md): 🐛 Fix issue yeasy#535, 改进对issue进程的提法
fix(image): CMD指令讲解中,”则是希望 upstart 来以后台守护进程形式启动 nginx 服务“,鉴于当前多种init程序(特别是以systemd为代表的)的流行,改为  ”则是希望 init 系统以后台守护进程的形式启动 nginx 服务“

Issue #535: 关于init进程的提法改进
2023-12-21 01:06:07 +08:00
Baohua Yang
3ccba8afb4 Merge pull request #533 from lxg199788/patch-1
Update aliyun mirror configuration
2023-10-25 14:40:38 -07:00
lxg
f5e6a67664 Update aliyun mirror configuration.md
Update aliyun mirror configuration to the lastest version
2023-10-23 09:56:14 +08:00
Baohua Yang
439264a87f Merge pull request #530 from hellozrh/dev1
Fix rpm installation
2023-08-17 21:55:29 -07:00
hellozrh
41558e73b4 修复离线rpm包安装方式,解决各个rpm包先后依赖安装顺序不一致导致安装失败的问题。
修复离线rpm包安装方式,解决各个rpm包先后依赖安装顺序不一致导致安装失败的问题。
2023-08-17 16:15:16 +08:00
Baohua Yang
f34a985a78 Merge pull request #529 from hellozrh/hellozrh-patch
Fix installation steps when offline
2023-08-01 17:49:18 -07:00
hellozrh
bd8387083a Update to newer version of docker installation. 2023-07-29 16:32:28 +08:00
hellozrh
8d129d0ead 修复离线安装时依赖包下载、离线rpm包安装依赖先后顺序的问题。 2023-07-19 15:20:16 +08:00
Baohua Yang
85c5a280a4 Merge pull request #527 from hezhizhen/patch-2
Update install
2023-07-03 17:21:20 -07:00
Zhizhen He
98044d04b2 Update install 2023-07-03 10:54:23 +08:00
Kang Huaishuai
57873b1143 Merge pull request #523 from wushu037/patch-1
Update volume.md
2023-05-15 08:58:42 +08:00
无数
6acf209b9a Update volume.md
Correct confusing words
2023-05-07 21:34:34 +08:00
12 changed files with 91 additions and 61 deletions

View File

@@ -1,8 +1,6 @@
name: Check link
on:
# push:
# pull_request:
workflow_dispatch:
jobs:
@@ -10,9 +8,7 @@ jobs:
name: check-link
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
fetch-depth: 1
- uses: actions/checkout@v4.1.1
# search Issues :-(
- run: |
docker run -i --rm \

View File

@@ -1,10 +1,10 @@
name: CI
on:
push:
pull_request:
workflow_dispatch:
name: CI
defaults:
run:
shell: bash --noprofile --norc -exo pipefail {0}
@@ -14,9 +14,7 @@ jobs:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
fetch-depth: 2
- uses: actions/checkout@v4.1.1
- name: Build Gitbook
uses: docker://yeasy/docker_practice
with:
@@ -68,8 +66,8 @@ jobs:
PCIT_USERNAME: khs1994
- name: vuepress
run: |
export NODE_OPTIONS=--openssl-legacy-provider
sudo rm -rf _book
# npm i vuepress --save-dev
npm i
git clone https://github.com/docker-practice/.vuepress .vuepress2
@@ -80,7 +78,6 @@ jobs:
npx vuepress --version
npm run vuepress:build
# echo "vuepress.docker-practice.com" > .vuepress/dist/CNAME
echo "vuepress.mirror.docker-practice.com" > .vuepress/dist/CNAME
cp -r _images .vuepress/dist

View File

@@ -1,2 +1,2 @@
Django>=2.0,<3.0
Django>=5.0.6,<6.0
psycopg2>=2.7,<3.0

View File

@@ -1,6 +1,6 @@
# 数据卷
`数据卷` 是一个可供一个或多个容器使用的特殊目录它绕过 UFS可以提供很多有用的特性
`数据卷` 是一个可供一个或多个容器使用的特殊目录它绕过 UnionFS可以提供很多有用的特性
* `数据卷` 可以在容器之间共享和重用

View File

@@ -40,7 +40,7 @@ CMD service nginx start
对于容器而言其启动程序就是容器应用进程容器就是为了主进程而存在的主进程退出容器就失去了存在的意义从而退出其它辅助进程不是它需要关心的东西
而使用 `service nginx start` 命令则是希望 upstart 以后台守护进程形式启动 `nginx` 服务而刚才说了 `CMD service nginx start` 会被理解为 `CMD [ "sh", "-c", "service nginx start"]`因此主进程实际上是 `sh`那么当 `service nginx start` 命令结束后`sh` 也就结束了`sh` 作为主进程退出了自然就会令容器退出
而使用 `service nginx start` 命令则是希望 init 系统以后台守护进程形式启动 nginx 服务而刚才说了 `CMD service nginx start` 会被理解为 `CMD [ "sh", "-c", "service nginx start"]`因此主进程实际上是 `sh`那么当 `service nginx start` 命令结束后`sh` 也就结束了`sh` 作为主进程退出了自然就会令容器退出
正确的做法是直接执行 `nginx` 可执行文件并且要求以前台形式运行比如

View File

@@ -35,7 +35,8 @@ WORKDIR /go/src/github.com/go/helloworld/
COPY app.go .
RUN go get -d -v github.com/go-sql-driver/mysql \
RUN go mod init helloworld \
&& go get -d -v github.com/go-sql-driver/mysql \
&& CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app . \
&& cp /go/src/github.com/go/helloworld/app /root

View File

@@ -65,7 +65,7 @@ $ echo \
```
>以上命令会添加稳定版本的 Docker APT 如果需要测试版本的 Docker 请将 stable 改为 test
>以上命令会添加稳定版本的 Docker APT 如果需要测试版本的 Docker 请将 stable 改为 test Debian11可能不使用`/etc/apt/keyrings/` 如gpg错误可以考虑更换为`/etc/apt/trusted.gpg.d` [issue 15727](https://github.com/docker/docs/issues/15727)。
### 安装 Docker

View File

@@ -1,16 +1,16 @@
# 镜像加速器
国内从 Docker Hub 拉取镜像有时会遇到困难此时可以配置镜像加速器国内很多云服务商都提供了国内加速器服务例如
国内从 Docker Hub 拉取镜像有时会遇到困难此时可以配置镜像加速器~~国内很多云服务商都提供了国内加速器服务例如~~
* [阿里云加速器(点击管理控制台 -> 登录账号(淘宝账号) -> 侧镜像工具 -> 镜像加速器 -> 复制加速器地址)](https://www.aliyun.com/product/acr?source=5176.11533457&userCode=8lx5zmtu)
* [网易云加速器 `https://hub-mirror.c.163.com`](https://www.163yun.com/help/documents/56918246390157312)
* [百度云加速器 `https://mirror.baidubce.com`](https://cloud.baidu.com/doc/CCE/s/Yjxppt74z#%E4%BD%BF%E7%94%A8dockerhub%E5%8A%A0%E9%80%9F%E5%99%A8)
* [阿里云加速器(点击管理控制台 -> 登录账号(淘宝账号) -> 侧镜像工具 -> 镜像加速器 -> 复制加速器地址)](https://cr.console.aliyun.com/cn-hangzhou/instances)
**由于镜像服务可能出现宕机建议同时配置多个镜像各个镜像站测试结果请到 [docker-practice/docker-registry-cn-mirror-test](https://github.com/docker-practice/docker-registry-cn-mirror-test/actions) 查看。**
> 国内各大云服务商腾讯云阿里云百度云均提供了 Docker 镜像加速服务建议根据运行 Docker 的云平台选择对应的镜像加速服务具体请参考本页最后一小节
本节我们以 [网易云](https://www.163yun.com/) 镜像服务 `https://hub-mirror.c.163.com` 为例进行介绍。
本节我们以 [AtomHub 可信镜像中心](https://hub.atomgit.com/) 镜像服务 `https://hub.atomgit.com` 为例进行介绍。
> `hub.atomgit.com` 仅包含部分官方镜像可以满足初学者的使用
## Ubuntu 16.04+Debian 8+CentOS 7+
@@ -29,8 +29,7 @@ $ systemctl cat docker | grep '\-\-registry\-mirror'
```json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
"https://hub.atomgit.com"
]
}
```
@@ -46,26 +45,24 @@ $ sudo systemctl restart docker
## Windows 10
对于使用 `Windows 10` 的用户在任务栏托盘 Docker 图标内右键菜单选择 `Settings`打开配置窗口后在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 json 文件之后点击 `Apply & Restart` 保存后 Docker 就会重启并应用配置的镜像地址了
对于使用 `Windows 10` 的用户在任务栏托盘 Docker 图标内右键菜单选择 `Change settings`打开配置窗口后在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 json 文件之后点击 `Apply & Restart` 保存后 Docker 就会重启并应用配置的镜像地址了
```json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
"https://hub.atomgit.com"
]
}
```
## macOS
对于使用 macOS 的用户在任务栏点击 Docker Desktop 应用图标 -> `Perferences`在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 json 文件修改完成之后点击 `Apply & Restart` 按钮Docker 就会重启并应用配置的镜像地址了
对于使用 macOS 的用户在任务栏点击 Docker Desktop 应用图标 -> `Settings...`在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 json 文件修改完成之后点击 `Apply & restart` 按钮Docker 就会重启并应用配置的镜像地址了
```json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
"https://hub.atomgit.com"
]
}
```
@@ -76,7 +73,7 @@ $ sudo systemctl restart docker
```bash
Registry Mirrors:
https://hub-mirror.c.163.com/
https://hub.atomgit.com/
```
## `k8s.gcr.io` 镜像
@@ -100,6 +97,8 @@ $ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/xxx
* https://dockerhub.azk8s.cn **已转为私有**
* https://reg-mirror.qiniu.com
* https://registry.docker-cn.com
* https://hub-mirror.c.163.com
* https://mirror.baidubce.com
建议 **watch页面右上角** [镜像测试](https://github.com/docker-practice/docker-registry-cn-mirror-test) 这个 GitHub 仓库,我们会在此更新各个镜像地址的状态。

View File

@@ -32,7 +32,7 @@ sudo yum list docker-ce --showduplicates|sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
docker-ce.x86_64 24.0.4-1.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
@@ -46,7 +46,7 @@ docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
#### 下载到指定文件夹(A)
```bash
sudo yum install --downloadonly --downloaddir=/tmp/docker-19.03 docker-ce-19.03.8-3.el7 docker-ce-cli-19.03.8-3.el7
sudo yum install --downloadonly --downloaddir=/tmp/docker24_offline_install/ docker-ce-24.0.4-1.el7 docker-ce-cli-24.0.4-1.el7
```
```bash
@@ -56,11 +56,11 @@ Dependencies Resolved
Package Arch Version Repository Size
====================================================================================================================================================================================
Installing:
docker-ce x86_64 3:19.03.8-3.el7 docker 25 M
docker-ce x86_64 24.0.4-1.el7 docker 25 M
Installing for dependencies:
container-selinux noarch 2:2.107-3.el7 extras 39 k
containerd.io x86_64 1.2.13-3.1.el7 docker 23 M
docker-ce-cli x86_64 1:19.03.8-3.el7 docker 40 M
container-selinux noarch 24.0.4-1.el7 extras 39 k
containerd.io x86_64 24.0.4-1.el7 docker 23 M
docker-ce-cli x86_64 24.0.4-1.el7 docker 40 M
Transaction Summary
====================================================================================================================================================================================
@@ -69,18 +69,19 @@ Install 1 Package (+3 Dependent packages)
Total download size: 87 M
Installed size: 363 M
Background downloading packages, then exiting:
(1/4): container-selinux-2.107-3.el7.noarch.rpm | 39 kB 00:00:00
(2/4): containerd.io-1.2.13-3.1.el7.x86_64.rpm | 23 MB 00:00:00
(3/4): docker-ce-19.03.8-3.el7.x86_64.rpm | 25 MB 00:00:00
(4/4): docker-ce-cli-19.03.8-3.el7.x86_64.rpm | 40 MB 00:00:00
(1/4): container-selinux-24.0.4-1.el7.noarch.rpm | 39 kB 00:00:00
(2/4): containerd.io-24.0.4-1.el7.x86_64.rpm | 23 MB 00:00:00
(3/4): docker-ce-24.0.4-1.el7.x86_64.rpm | 25 MB 00:00:00
(4/4): docker-ce-cli-24.0.4-1.el7.x86_64.rpm | 40 MB 00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 118 MB/s | 87 MB 00:00:00
exiting because "Download Only" specified
```
#### 复制到目标服务器之后进入文件夹安装(C-N)
* 离线安装时必须使用rpm命令不检查依赖的方式安装
```bash
yum install *.rpm
rpm -Uvh *.rpm --nodeps --force
```
#### 锁定软件版本(C-N)
@@ -105,7 +106,7 @@ sudo yum versionlock list
```bash
Loaded plugins: fastestmirror, versionlock
3:docker-ce-18.09.9-3.el7.*
3:docker-ce-24.0.4-1.el7.*
versionlock list done
```
@@ -116,7 +117,7 @@ sudo yum install docker-ce
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
Package 3:docker-ce-18.09.9-3.el7.x86_64 already installed and latest version
Package 3:docker-ce-24.0.4-1.el7.x86_64 already installed and latest version
Nothing to do
```
@@ -128,7 +129,7 @@ sudo yum versionlock delete docker-ce
```bash
Loaded plugins: fastestmirror, versionlock
Deleting versionlock for: 3:docker-ce-18.09.9-3.el7.*
Deleting versionlock for: 3:docker-ce-24.0.4-1.el7.*
versionlock deleted: 1
```
@@ -246,4 +247,3 @@ sudo systemctl enable docker
```

View File

@@ -9,6 +9,8 @@ Docker 不仅支持 `x86_64` 架构的计算机,同时也支持 `ARM` 架构
Docker 支持以下版本的 [Raspberry Pi OS](https://www.raspberrypi.org/software/operating-systems/) 操作系统:
* Raspberry Pi OS Buster
* Raspberry Pi OS Bullseye
* Raspberry Pi OS Bookworm
** `Raspberry Pi OS` 由树莓派的开发与维护机构 [树莓派基金会](https://www.raspberrypi.org/) 官方支持,并推荐用作树莓派的首选系统,其基于 `Debian`。
@@ -58,6 +60,33 @@ $ sudo add-apt-repository \
>以上命令会添加稳定版本的 Docker APT 如果需要测试版本的 Docker 请将 stable 改为 test
#### 报错解决办法
`Raspberry Pi OS Bullseye/Bookworm` 添加 Docker 软件源的步骤可能会出现如下报错:
```bash
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 95, in <module>
sp = SoftwareProperties(options=options)
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 109, in __init__
self.reload_sourceslist()
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 599, in reload_sourceslist
self.distro.get_sources(self.sourceslist)
File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 91, in get_sources
raise NoDistroTemplateException(
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/bullseye
```
通过以下命令手动添加镜像源到 `/etc/apt/sources.list` 文件中即可解决:
```bash
$ sudo echo "deb [arch=armhf] https://mirrors.aliyun.com/docker-ce/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list
# 官方源
# $ sudo echo "deb [arch=armhf] https://download.docker.com/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list
```
### 安装 Docker
更新 apt 软件包缓存并安装 `docker-ce`

View File

@@ -6,23 +6,31 @@
### 系统要求
Docker 支持以下版本的 [Ubuntu](https://ubuntu.com/server) 操作系统:
Docker 支持诸多版本的 [Ubuntu](https://ubuntu.com/server) 操作系统。但是较旧的版本上将不会有Docker新版本的持续更新以截至2024年中的几个 Ubuntu LTSLong Term Support长期支持版本为例
* Ubuntu Hirsute 21.04
* Ubuntu Groovy 20.10
* Ubuntu Focal 20.04 (LTS)
* Ubuntu Bionic 18.04 (LTS)
* Ubuntu Noble 24.04 (LTS)Docker v27.2.1
* Ubuntu Jammy 22.04 (LTS), Docker v27.2.1
* Ubuntu Focal 20.04 (LTS), Docker v27.2.1
* Ubuntu Bionic 18.04 (LTS)Docker v24.0.2
Docker 可以安装在 64 位的 x86 平台或 ARM 平台Ubuntu 发行版中LTSLong-Term-Support长期支持版本会获得 5 年的升级维护支持这样的版本会更稳定因此在生产环境中推荐使用 LTS 版本
Ubuntu LTS 版本上目前 Docker 支持 amd64arm64armhfppc64els390x 5 平台而非 LTS 版本支持的平台通常较少同时LTS 版本会获得 5 年的升级维护支持这样的系统会获得更长期的安全保障因此在生产环境中推荐使用 LTS 版本
### 卸载旧版本
旧版本的 Docker 称为 `docker` 或者 `docker-engine`使用以下命令卸载旧版本
```bash
$ sudo apt-get remove docker \
docker-engine \
docker.io
$ for pkg in docker \
docker-engine \
docker.io \
docker-doc \
docker-compose \
podman-docker \
containerd \
runc;
do
sudo apt remove $pkg;
done
```
## 使用 APT 安装
@@ -30,9 +38,9 @@ $ sudo apt-get remove docker \
由于 `apt` 源使用 HTTPS 以确保软件下载过程中不被篡改因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书
```bash
$ sudo apt-get update
$ sudo apt update
$ sudo apt-get install \
$ sudo apt install \
apt-transport-https \
ca-certificates \
curl \
@@ -73,9 +81,9 @@ $ echo \
更新 apt 软件包缓存并安装 `docker-ce`
```bash
$ sudo apt-get update
$ sudo apt update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo apt install docker-ce docker-ce-cli containerd.io
```
## 使用脚本自动安装

View File

@@ -16,7 +16,7 @@
来自 Docker 官网的这张图片形象的展示了集群中管理节点与工作节点的关系
![](https://docs.docker.com/engine/swarm/images/swarm-diagram.png)
![](https://docs.docker.com/engine/swarm/images/swarm-diagram.webp)
## 服务和任务
@@ -32,4 +32,4 @@
来自 Docker 官网的这张图片形象的展示了容器任务服务的关系
![](https://docs.docker.com/engine/swarm/images/services-diagram.png)
![](https://docs.docker.com/engine/swarm/images/services-diagram.webp)