docker
基本信息
- 简介:docker是安装其他应用的基础
- 官网:https://www.docker.com/
- 前置要求:WSL
-
网上教程:
安装
docker Windows安装
安装前置条件
-
- 后续的Docker等程序,都需要WSL2环境,如果WSL环境安装不正确(或不是最新版本),会导致后续软件安装失败。
- 参考链接:https://www.bilibili.com/video/BV1THKyzBER6
安装步骤
默认安装:双击安装包

指定Docker安装目录
start /w "" "Docker Desktop Installeer.exe" install --installation-dir=D:\Docker
配置国内镜像
增加内容
"insecure-registries": null,
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
Windows
Linux:vim /etc/docker/daemon.json
-
{ "insecure-registries": null, "registry-mirrors": [ "https://m1csqien.mirror.aliyuncs.com", "https://docker.xuanyuan.me", "https://docker.1ms.run", "https://wja2kvc7.mirror.aliyuncs.com", "https://swr.cn-north-4.myhuaweicloud.com", "https://5dcae8211ea04b1b8507709d71691cfe.mirror.swr.myhuaweicloud.com", "https://dockerproxy.com", "https://docker.m.daocloud.io" ] }
Docker Mac安装
官方文档:https://docs.docker.com/desktop/setup/install/mac-install/
基本使用
搜索及拉取镜像
#搜索包
docker search [packageName]
#下载镜像
docker pull [authorName]/[packageName]:[标签名]
#以MaxKB为例
docker pull 1panel/maxkb:
#如果是官方镜像,可省缺[authorName]
docker pull nginx:latest

删除本地镜像
#列出本地镜像
docker image ls
#删除镜像,以下二选一
docker image rm [IMAGE ID前三位]
docker image rm [仓库名:标签]
docker run命令
常用参数
-
-d:后台运行 -
--name=: 容器命名 -
-p:端口映射,[宿主端口]:[容器内端口] -
-v:文件挂载,[宿主文件路径]:[容器内文件路径
# 以MaxKb安装为例
docker run -d --name=maxkb --restart=always -p 8098:8080 -v D:\maxkb:/var/lib/postgresql/data -v D:\maxkb\python-packages:/opt/maxkb/app/sandbox/python-packages 1panel/maxkb:latest


docker容器查看、停止、启动、删除容器
# 列举正在运行的镜像
docker ps
# 停止制定容器
docker stop [containerName]
# 查看所有容器(包含停止的)
docker ps -a
# 启动容器
docker start [containerName]
# 删除容器 docker rm只能删除停止的容器
docker stop [containerName]
docker rm [containerName]
# 删除运行中的容器
docker rm -f [containerName]
# 批量删除已停止的容器
docker prune
docker exec 命令
#进入容器
docker exec -it [containerID] /bin/bash
#退出容器
exit
docker compose
检查docker-compose的安装及版本
Docker Desktop for Mac/Windows自带
docker-compose --version
docker compose命令
#默认使用 ./docker-compose.yml文件
docker-compose up
#后台运行,加-d
docker-compose up -d
#指定文件
docker-compose -f ./docker/server.yml up -d
docker-compose.yml文件详解
以Docker-Compose跑一个Nginix、DB为例
version: '3'
services:
web:
image: nginx:latest
container_name: nginx_container
ports:
- "8080:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/certs:/etc/nginx/certs
- ./app:/usr/share/nginx/html
- ./nginx/logs:/var/log/nginx
restart: always
db:
image: postgres:15
container_name: db_container
environment: # 环境变量
POSTGRES_PASSWORD: example
docker Network
如果容器之间通信,需要制定Network参数
version: '3'
services:
web:
image: nginx:latest
container_name: nginx_container
ports:
- "8080:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/certs:/etc/nginx/certs
- ./app:/usr/share/nginx/html
- ./nginx/logs:/var/log/nginx
restart: always
networks:
- backend
db:
image: postgres:15
container_name: db_container
environment: # 环境变量
POSTGRES_PASSWORD: example
networks:
- backend
networks:
backend:
