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(查看容器发行版)
相关推荐
lichenyang4536 小时前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4536 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4536 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4536 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy5 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩6 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1117 天前
LM Studio Docker 部署——本地大模型一键启动
docker