132 docker入门学习

hhttps://www.bilibili.com/video/BV1CJ411T7BK?spm_id_from=333.788.videopod.episodes&vd_source=8d09f1ee51d42441986761a364990801&p=8https://www.bilibili.com/video/BV1CJ411T7BK?spm_id_from=333.788.videopod.episodes&vd_source=8d09f1ee51d42441986761a364990801&p=8https://www.bilibili.com/video/BV1CJ411T7BK?spm_id_from=333.788.videopod.episodes&vd_source=8d09f1ee51d42441986761a364990801&p=8以下为视频笔记:

docker是一个开源的应用容器引擎(沙箱机制,相互隔离)

docker官网:https://www.docker.com/ 下载

1.docker架构

2.配置docker镜像加速器

登录阿里云-->控制台-->产品与服务-->镜像-->镜像加速器--centos

javascript 复制代码
镜像地址:https://ep2jesd5.mirror.aliyuncs.com

配置:直接复制下面所有内容到终端运行(只能在linux窗口运行,windows请按下面配置)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ep2jesd5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

windows配置镜像:搜索.docker\daemon.json 文件

javascript 复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
//修改位置
  "registry-mirrors": [
    "https://ep2jesd5.mirror.aliyuncs.com"
  ]
}

3.docker命令

docker命令大全,菜鸟教程

https://www.runoob.com/docker/docker-command-manual.htmlhttps://www.runoob.com/docker/docker-command-manual.html

下面容器服务相关命令可以跳过

-----跳过----

首先windows上打开linux命令窗口设置

https://blog.csdn.net/2501_91950563/article/details/158124124https://blog.csdn.net/2501_91950563/article/details/158124124

javascript 复制代码
运行linux命令窗口:

wsl.exe -d Ubuntu

1.服务相关命令(daemon翻译:守护进程)

javascript 复制代码
docker服务

启动:systemctl start docker

查看:systemctl status docker

停止:systemctl stop docker

重启:systemctl restart docker

开机启动:systemctl enable docker

-----跳过----

2.镜像相关命令

javascript 复制代码
查看镜像:docker images

查找镜像:docker search redis

拉取镜像:docker pull redis:5.0 (或者不带:5.0 版本号)

删除镜像:docker rmi 镜像ID 或者 redis:5.0 (rmi: remove image 移除镜像)或者 

查看所有镜像id: docker images -q

删除所有镜像: docker rmi `docker images -q`
javascript 复制代码
//搜索镜像相关版本号发布,比如搜索redis相关版本发布

https://hub.docker.com/

3.docker容器相关命令

javascript 复制代码
-i :保持容器一直运行,没有客户端连接,也一直运行
-t : 分配终端
-d : 后台运行创建容器,不会立即进入容器
-it:以上操作缩写
--name=容器名称
-a : 是 --all 的缩写,意思是显示所有容器(包括正在运行的和已经停止的)。

/bin/bash :打开脚本

创建容器并进入命令窗口 : docker run -it --name=demo centos:7 /bin/bash

创建容器不会进入命令窗口 : docker run -id --name=demo1 centos:7 

查看:ll

退出容器: exit  (用it进入,退出容器不会关闭)

查看正在运行的容器: docker ps 

进入容器: docker exec -it demo1 /bin/bash

停止某个容器: docker stop demo1

删除容器:docker rm 容器ID/容器名称  (正在运行的容器无法删除)

查看所有容器id: docker ps -aq

删除所有容器:docker rm `docker ps -aq`

查看容器信息:docker inspect demo

4.docker数据卷

0.window终端/linux终端命令转换

1.数据卷概念

2.配置数据卷

javascript 复制代码
-v  :设置容器卷 宿主机目录:容器目录 (目录不存在就会自己创建)
~   :波浪线就代表root
cd  :默认进入root (cd ~)
ll  :查看当前目录 


docker run -it --name=demo -v /root/data:/root/data_container centos:7 /bin/bash

修改为可见的文件:
docker run -it --name=demo -v E:\z_project_file\docker_data:/root/data_container centos:7 /bin/bash

cd : 进入root(~)

ll: 发现创建了data_container

创建空文件:(touch test.txt : linux)	 (type nul > test.txt :win 会报错,但是创建了)
创建建文件并写内容: echo hello > test.txt  (通用)
查看txt内容: cat test.txt (通用)

连接多容器演示:
docker run -it --name=demo1 -v E:\z_project_file\data1:/root/data1 -v E:\z_project_file\data2:/root/data2 -v  centos:7

3.数据卷容器

javascript 复制代码
创建数据卷容器c1

docker run -it --name=c1 -v volumn centos:7

查看详情: docker inspect c1


 "Mounts": [
            {
                "Type": "volume",
                "Name": "7b12f2e0b544d0366942de0aea7a70b0e39940f54fc6e286e80a3f3bb7c671be",
                "Source": "/var/lib/docker/volumes/7b12f2e0b544d0366942de0aea7a70b0e39940f54fc6e286e80a3f3bb7c671be/_data",
                "Destination": "volumn",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ]

创建c2挂载c1上:  docker run -it --name=c2  --volumes-from c1 centos:7
创建c3挂载c1上:  docker run -it --name=c3  --volumes-from c1 centos:7

进入c1:cd volumn/
创建  :echo hello > test.txt
查看  :cat test.txt

c2中  :cd volumn/
查看  :ll 发现test.txt文件
相关推荐
三品吉他手会点灯2 小时前
STM32 VSCode 开发-C语言程序运行后,终端中文乱码
c语言·ide·笔记·vscode·stm32·学习·编辑器
A-刘晨阳2 小时前
K8s 之 Ingress 及 Ingress Controller
云原生·容器·kubernetes·负载均衡·ingress
HalvmånEver2 小时前
MySQL表的查询(二)
linux·数据库·学习·mysql
AI服务老曹2 小时前
突破芯片壁垒:基于 Docker 与异构计算架构的工业级 AI 视频管理平台深度解析
人工智能·docker·架构
旧故新长2 小时前
部署自动发卡网站的问题和解决方案
linux·docker
今天你TLE了吗2 小时前
HelloAgents学习:PartⅠChapterⅠ初识智能体
人工智能·笔记·学习·agent·智能体
小茴香3532 小时前
React学习笔记(一)
笔记·学习·react.js
我想我不够好。2 小时前
4.27消防监控学习 1.30min
学习
hiwb2 小时前
Docker 安装 MySQL,DBeaver 连接 MySQL
mysql·docker·容器