Loading... # Docker的正确使用姿势 <div class="tip inlineBlock warning"> 该教程部分内容仅针对`x86`架构电脑,对于`ARM64`架构可能需要进一步的配置 </div> > 这两天同学来问我Docker怎么使用数据库,结果教了2个小时才跑起来一个`MariaDB`的容器,现在写一篇指南以防后人遗忘(不是 > 当然这些文档在官网都可以照着读 ## 0x01 安装Docker ### 1. Linux安装 众所周知Docker是基于Linux底下的`namespace`,`cgroup`和`UnionFS`为基础技术写成的,那么必然在Linux环境下Docker是最轻松的 ```bash # 建议在root环境下安装 su # 先把系统更新一下,其余系统同理 pacman -Syyu && pacman -S curl # 脚本安装Docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 安装Docker-compose二进制文件 curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # 验证安装成功 docker --version docker-compose --version ``` ### 2. Windows 10安装 Windows10的WSL2内核给予了在Windows上运行Linux子系统的能力,也就是说使用WSL2后,Docker能够在Windows上运行以往无法运行的容器 #### Step.1 安装WSL2 > ref: https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 ```ps # 启用适用于 Linux 的 Windows 子系统 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` 接下来检查运行 WSL 2 的要求, 具体请进入[链接](https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-2---check-requirements-for-running-wsl-2)进行查看 ```ps # 启用虚拟机功能 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 重新启动计算机,接下来下载 Linux 内核更新包,请进入[链接](https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package)进行下载 ```ps # 将 WSL 2 设置为默认版本 wsl --set-default-version 2 ``` #### Step.2 安装发行版 (Optional) WSL2安装完后已经可以在WSL2环境下运行Docker了,但是方便期间建议再安装一个Linux发行版,由于不是必要的具体进入[链接](https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-6---install-your-linux-distribution-of-choice)查看步骤安装 #### Step.3 安装Docker for Windows > ref: https://www.docker.com/get-started 进入[https://www.docker.com/get-started](https://www.docker.com/get-started)下载Docker for Windows安装包进行安装 安装完之后启动Docker,如图所示 ![Docker面板](/usr/uploads/2021/06/428517129.png) 点击右上角齿轮,进入设置面板 勾选以下两个选项 ![启动WSL2引擎](/usr/uploads/2021/06/2367103104.png) ![启动WSL Integration](/usr/uploads/2021/06/3112123777.png) Done! ## 0x02 开启一个容器(以Mysql为例) 如果只是想开个Mysql之类的,那么只需要会用即可,如果问到底可能2天都问不完( 进入之前安装的Linux发行版(以Arch为例) ### Step.1 创建一个Docker-compose.yaml ```bash cd ~ mkdir -p ./docker/mysql && cd ./docker/mysql # 编辑Docker-compose.yaml vim docker-compose.yaml ``` 将以下内容粘贴进`docker-compose.yaml` ```yaml version: "3" services: mariadb: image: mariadb:latest container_name: mariadb restart: always volumes: - ./data/data:/var/lib/mysql - ./data/config:/etc/mysql/conf.d environment: # 默认用户名: root # 默认密码: S3DMhKyszdrmhpub3iEX MYSQL_ROOT_PASSWORD: "S3DMhKyszdrmhpub3iEX" MYSQL_ROOT_HOST: "%" ports: - 3306:3306 ``` ### Step.2 把容器跑起来 ```bash cd ./docker/mysql docker-compose up -d # Done! # 查看容器是否正常 docker-compose ps ``` ![启动容器](/usr/uploads/2021/06/1034224117.png) ### Step.3 连接数据库 接下来就可以连接数据库啦, ip为`localhost`, 用户名: `root`, 密码: `S3DMhKyszdrmhpub3iEX` 最后修改:2021 年 06 月 07 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏