Docker

本文来自于up主:技术爬爬虾 的视频总结。

Docker是基于Linux的容器化技术,用于存放分享镜像。

一、Docker安装

Linux安装指令(get.docker.com):

以Windows10 电脑为例,安装Docker:

1.打开控制面板

2.点击程序

3.点击启用或关闭Windows功能

4.勾选"适用于Linux的Windows子系统(WSL)"和"虚拟机平台(Virtual Machine Platfrom)",确定并等待加载完毕。

5.OK了,重启这该死的电脑!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

6.以管理员身份运行命令提示符

可以不加--web-download,Ctrl+c可以终止

7.进入Docker: Accelerated Container Application Development下载Docker,Win是AMD64。

指定安装目录:在下载安装包的文件夹,进入cmd,dir后写上安装目录

start /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="E:\Docker\Docker"

ok,安装好了

二、设置国内镜像源

打开docker,设置->docker engine->在flase后加上"," 并输入:

XML 复制代码
 "registry-mirrors": [
      "https://docker.m.daocloud.io",
      "https://docker.1panel.live",
      "https://hub.rat.dev"
  ]

点击应用。

测试一波:

1.下载一个nginx镜像

XML 复制代码
docker pull nginx
docker pull --platform=xxxx nginx (这条指令用来指定架构)

2.查找下载的镜像

XML 复制代码
docker images

3.删除镜像

XML 复制代码
docker rmi NAME/ID

三、运行容器

1.创建一个仓库

XML 复制代码
docker run (-d) nginx (-d是后台分离模式不会影响当前窗口使用)
(如果nginx镜像不存在,则会自动执行pull操作下载一个)

2.查看运行的仓库

3.端口映射

用于宿主机链接Docker容器内网络部署的端口

XML 复制代码
docker run -p 80:80 nginx

四、挂载卷

用于将docker内的文件挂在到宿主机上,永久保存

复制代码
docker run -d -p 80:80 -v D:\Code\Full_Stack:/usr/share/nginx/html nginx
-v 宿主机目录:容器内目录(绑定挂载)
复制代码
docker rm -f f6bb8aeb5a4c  (rm删除容器,-f强制删除)
docker ps -a (查看所有容器)
复制代码
docker volume create nginx_html(创建一个挂在卷)
复制代码
docker volume inspect nginx_html(查看挂在卷所在目录)

然而这个指令只能显示linux下的路径,window真实路径如下:

复制代码
\\wsl.localhost\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes\nginx_html
复制代码
docker volume list(查看挂载卷)
docker volume rm nginx_html(删除挂载卷)
docker volume prune -a(删除没有绑定仓库的所有挂载卷)

五、run其他参数

复制代码
sudo docker run -d \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=shrimp \
  -e MYSQL_DATABASE=tech_db \
  -e MYSQL_USER=tech \
  -e MYSQL_PASSWORD=shrimp \
  mysql:8.0
这是MYSQL的链接方式,创建了root用户和普通用户。

docker run -d --name 自定义名字 nginx
(自定义名字在宿主机上是唯一的)

docker run -it --rm 容器
(-it让控制台进入容器,--rm容器停止时,删除容器)

docker run -d -restart always 容器
(用来配置容器在停止时的重启策略,always替换为unless-stopped,手动关闭的容器不会重启)

六、调试容器

复制代码
docker start 容器ID/名字
docker stop 容器ID/名字
(容器启停)
docker inspect ID/名字
(查看容器信息)
docker create -p 端口:端口 容器
(与run类似,但是只创建不启动)
docker logs 容器ID/名字 (-f)
(查看容器日志,-f追踪输出日志)
docker exec ID/名字 linux指令
(执行linux命令,一个容器相当于一个linux)
docker exec -it ID/名字 /bin/sh
(进入一个运行的容器内部,可以运行指令,但是docker里的容器是最轻量的,需要自己下载工具)

cat /etc/os-release(查看容器发行版)
相关推荐
风落无尘6 小时前
Stable Diffusion WebUI & ComfyUI 完整安装教程:官方部署+一键整合包+Docker容器化(2026最新)
docker·容器·stable diffusion
CodeMartain10 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
万里侯11 小时前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
llrraa201012 小时前
配置docker国内镜像源
运维·docker·容器
华为云开发者联盟13 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道
m_1368714 小时前
Docker Desktop WSL2 启动失败:ext4.vhdx 拒绝访问(E_ACCESSDENIED)完整解决方案
docker
珂玥c14 小时前
k8s集群ingress碎碎念
云原生·容器·kubernetes
米高梅狮子15 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
比特森林探险记16 小时前
context 在 gRPC / Gin / K8s 中的实战
容器·kubernetes·gin
米高梅狮子16 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github