Docker 学习
这个是基于WSL中使用命令行下载的Docker,作用是管理WSL下特定版本的Ubuntu系统
下载docker
# 1. 更新系统包索引
sudo apt update
# 2. 安装必要的依赖
sudo apt install -y ca-certificates curl
# 3. 创建密钥目录并添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 4. 添加 Docker 官方仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 再次更新包索引(这次会从 Docker 仓库获取信息)
sudo apt update
# 6. 安装 Docker 及相关组件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 7. 启动 Docker 服务
sudo service docker start
# 8. 验证安装
sudo docker run hello-worldDocker中有三种身份
宿主机身份(你Windows/WSL里的用户),默认身份(root),容器内的普通用户(可以自己创建)
把你加入 docker 组,这样就不需要使用sudo就能执行docker指令了
sudo usermod -aG docker $USER # 加入docker组就可以使用docker命令使组权限生效
# 退出当前 WSL 会话
exit
wsl --terminate Ubuntu-24.04-learn
wsl -d Ubuntu-24.04-learn使用docker
docker images # 查看docker有哪些镜像
docker ps -a # 查看docker的容器(包括已停止的)
docker ps #查看docker正在运行的容器docker rmi <镜像名字或者id> # 把服务器上的指定的镜像删除
docker rm <容器的名字或者id> # 把服务器上的镜像创建的容器删除
docker rm -f <容器的名字或者id> # 强制删除容器docker pull nginx # 从 Docker Hub 下载 Nginx 镜像到本地
docker run nginx # 使用镜像创建一个容器,包含了docker pull 命令,如果发现本地不存在则会先拉取
docker run -d nginx # 表示容器在后台执行,不阻塞当前窗口,会打印出容器的id
docker run -p 80:80 nginx # 端口映射
docker run -d --name <自定义名字> # docker 容器自定义名字
docker run -d -p 80:80 -v /website/html:/usr/share/nginx/html nginx # -v 代表吧宿主机的目录和容器内的目录做绑定
docker volume create nginx_html
docker run -d -p 80:80 -v nginx_html:/usr/share/nginx/html nginx
docker volume list # 列出所有创建过的卷
docker volume rm nginx_html # 删除一个卷
docker volume prune -a # 删除所有没有任何容器使用的卷