🚀 Docker
参考
引子
Virtual Machines
- 更强的隔离性:在硬件层面上实现虚拟化
- 文件特性:硬盘文件、快照都是文件,可以持久化
Docker
- 轻量化:在操作系统层面上实现虚拟化
- 分布式:可以在同一台机器上运行多个容器,每个容器之间相互隔离
- 无状态:容器每次创建都是全新的,容器内的进程也是全新的,容器内的内容不可持久化
Install Docker
-
使用 apt 安装 docker engine
-
NVIDIA CTK
镜像 IMAGE
是一个只读模板,用来创建容器,类似于:
- 面向对象中的类,容器是对象
- 虚拟机中的
.iso
,容器是虚拟机
下载镜像
Bash | |
---|---|
1 |
|
IMAGE_NAME
镜像名称TAG
可选,镜像版本或标签,默认为latest
代理加速(参考文档):
-
sudo mkdir -p /etc/systemd/system/docker.service.d
-
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
Bash 1 2 3
[Service] Environment="HTTP_PROXY=http://127.0.0.1:7897" Environment="HTTPS_PROXY=http://127.0.0.1:7897"
-
sudo systemctl daemon-reload && sudo systemctl restart docker
-
sudo systemctl show --property=Environment docker
查看镜像
Bash | |
---|---|
1 |
|
REPOSITORY
镜像名称TAG
镜像版本或标签IMAGE ID
镜像 ID:唯一标识CREATED
创建时间SIZE
镜像大小
删除镜像
Bash | |
---|---|
1 |
|
容器 CONTAINER
查看容器
Bash | |
---|---|
1 |
|
增删容器
删除容器
- 删除容器前需要先停止容器
Bash | |
---|---|
1 |
|
- 删除所有已停止容器
Bash | |
---|---|
1 |
|
创建容器
Bash | |
---|---|
1 |
|
Bash | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
进出容器
进入容器
Bash | |
---|---|
1 |
|
执行命令
Bash | |
---|---|
1 |
|
退出容器
Bash | |
---|---|
1 |
|
启停容器
重启容器
Bash | |
---|---|
1 |
|
启动容器
Bash | |
---|---|
1 |
|
停止容器
Bash | |
---|---|
1 |
|
自建镜像
0 准备
Text Only | |
---|---|
1 2 3 4 5 6 |
|
code
Bash | |
---|---|
1 |
|
Go | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
HTML | |
---|---|
1 |
|
1 编写 Dockerfile
Docker | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
2 构建镜像
Bash | |
---|---|
1 |
|
-t
指定名称.
在当前目录构建
3 推送到 dockerhub
Bash | |
---|---|
1 2 3 |
|
docker compose
常用命令
-
启动容器组
Bash 1
sudo docker compose up -d
-d
后台运行
-
停止容器组
Bash 1
sudo docker compose down
-
查看容器组
Bash 1
sudo docker compose ps
-
查看日志
Bash 1
sudo docker compose logs -f
-f
实时查看