docker_practice/install/debian.md

162 lines
5.3 KiB
Go
Raw Normal View History

# Debian Docker
2017-09-04 11:18:25 +08:00
> Docker APT 使 apt Docker.
##
2017-09-04 11:18:25 +08:00
###
2017-09-04 11:18:25 +08:00
Docker [Debian](https://www.debian.org/intro/about) 操作系统:
2017-09-04 11:18:25 +08:00
* Debian Bullseye 11
* Debian Buster 10
2017-09-04 11:18:25 +08:00
###
2017-09-04 11:18:25 +08:00
Docker `docker` `docker-engine`使
```bash
$ sudo apt-get remove docker \
docker-engine \
docker.io
2017-09-04 11:18:25 +08:00
```
## 使 APT
2017-09-04 11:18:25 +08:00
2017-12-20 10:24:36 +08:00
apt 使 HTTPS 使 HTTPS CA
2017-09-04 11:18:25 +08:00
```bash
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
2017-09-04 11:18:25 +08:00
```
2017-12-09 00:12:02 +08:00
使
2017-09-04 11:18:25 +08:00
GPG
```bash
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2017-12-09 00:12:02 +08:00
#
# $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2017-09-04 11:18:25 +08:00
```
`sources.list` Docker
2017-09-04 11:18:25 +08:00
> Debian Linux `$(lsb_release -cs)` Debian [Kail Linux](https://www.kali.org/docs/policy/kali-linux-relationship-with-debian/)、 [BunsenLabs Linux](https://www.bunsenlabs.org/)。在这些发行版中我们需要将下面命令中的 `$(lsb_release -cs)` 替换为 https://mirrors.aliyun.com/docker-ce/linux/debian/dists/ 中支持的 Debian 版本代号,例如 `buster`。
2017-09-04 11:18:25 +08:00
```bash
$ echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2017-09-04 11:18:25 +08:00
2017-12-09 00:12:02 +08:00
#
# $ echo \
2021-11-01 19:27:25 +08:00
# "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
# $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2017-09-04 11:18:25 +08:00
```
> Docker APT Docker stable test
2017-12-09 00:12:02 +08:00
### Docker
2017-09-04 11:18:25 +08:00
apt `docker-ce`
```bash
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
2017-09-04 11:18:25 +08:00
```
## 使
2017-09-04 11:18:25 +08:00
Docker 便Debian 使 `--mirror` 使
2017-09-04 11:18:25 +08:00
> Docker, test.docker.com
2017-09-04 11:18:25 +08:00
```bash
# $ curl -fsSL test.docker.com -o get-docker.sh
2017-09-04 11:18:25 +08:00
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud
2017-09-04 11:18:25 +08:00
```
Docker (stable)
2017-09-04 11:18:25 +08:00
## Docker
2017-09-04 11:18:25 +08:00
```bash
$ sudo systemctl enable docker
$ sudo systemctl start docker
```
## docker
2017-09-04 11:18:25 +08:00
`docker` 使 [Unix socket](https://en.wikipedia.org/wiki/Unix_domain_socket) 与 Docker 引擎通讯。而只有 `root` 用户和 `docker` 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑一般 Linux 系统上不会直接使用 `root` 用户。因此,更好地做法是将需要使用 `docker` 的用户加入 `docker` 用户组。
`docker`
```bash
$ sudo groupadd docker
```
`docker`
```bash
$ sudo usermod -aG docker $USER
```
退
## Docker
```bash
$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
2018-10-21 09:51:36 +08:00
https://hub.docker.com/
For more examples and ideas, visit:
2018-10-21 09:51:36 +08:00
https://docs.docker.com/get-started/
```
##
2017-09-04 11:18:25 +08:00
2019-01-06 10:00:38 +08:00
使 Docker Docker [](mirror.md)
2017-09-04 11:18:25 +08:00
##
2017-09-04 11:18:25 +08:00
2018-10-21 09:51:36 +08:00
* [Docker Debian ](https://docs.docker.com/install/linux/docker-ce/debian/)