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(查看容器发行版)
相关推荐
破烂pan3 分钟前
企业级 Docker 运维命令速查表
运维·docker
Samson Bruce27 分钟前
【docker swarm】
java·docker·eureka
幺零九零零35 分钟前
Docker底层-Namespaces(网络隔离)
网络·docker·容器
隔壁阿布都1 小时前
Docker 离线安装 GitLab 完整步骤
docker·gitlab
2501_939909051 小时前
Docker(3)
运维·docker·容器
XMYX-01 小时前
从 Pod 资源到 JVM 参数:我再生产环境中踩过的 Kubernetes 资源配置那些坑——2025 年度技术总结
jvm·容器·kubernetes
❀͜͡傀儡师2 小时前
Docker 部署 OpenVidu
运维·docker·容器·openvidu
一杯咖啡Miracle2 小时前
UV管理python环境,打包项目为docker流程
python·算法·docker·容器·uv
阿郎_20112 小时前
复用已知的ssh公私钥实现docker的ssh传输
docker·github·ssl
杜子不疼.2 小时前
Linux + 容器技术:Docker 基础到实战,快速搭建轻量隔离环境
linux·运维·docker