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(查看容器发行版)
相关推荐
vipxieliang5 小时前
Docker vs Podman vs containerd:容器运行时全景
docker·容器
vipxieliang5 小时前
数据持久化方案:卷、挂载、权限与备份恢复
docker·容器
vipxieliang5 小时前
Compose 生产级配置:从 demo 到可上线
docker
vipxieliang5 小时前
容器原理揭秘:namespace、cgroup 与镜像分层
docker·容器
wzq11_6666 小时前
Kubernetes集群——基础篇(基础知识与搭建步骤一遍过!!!)
java·容器·kubernetes
java_logo8 小时前
Docker 部署 dockurr/windows:轻松搭建浏览器可控 Windows 虚拟机
运维·windows·docker·容器·虚拟机·kvm·轩辕镜像
谢亮_vipxieliang9 小时前
私有镜像仓库:Registry、Harbor 与镜像同步实战
网络·docker·容器
努力努力再努力wz10 小时前
【边缘计算入门系列】从“在哪里算”到“怎么算”:一文建立边缘计算、算子、计算图与 Tensor 的底层心智模型
人工智能·docker·边缘计算
江湖有缘10 小时前
3款开源IT工具箱整理合集,可Docker一键部署!
docker·容器·开源
旋生万物11 小时前
用螺旋数重写 Transformer Attention:让大模型自带“相位记忆“的 PyTorch 实现
docker·云原生·kubernetes·螺旋生成论·螺旋相位