Windows系统下使用Docker的踩坑记录

  在实际Windows系统使用Docker的过程中,碰到很多坑,记录问题、原因、解决办法如下。

1. 使用MySQL镜像报错

问题描述

使用MySQL镜像会报错,报错内容为:[ERROR] InnoDB: File ./ib_logfile101: 'aio write' returned OS error 122.

原因:
使用的文件系統不支持aio
解决办法:

在docker-compose.yml文件中,添加命令:command: "--innodb_use_native_aio=0",如下所示:

mysql:
    environment:
      MYSQL_DATABASE: test
      MYSQL_PASSWORD: root
      MYSQL_ROOT_PASSWORD: root
      TZ: Asia/Shanghai
    image: mysql:latest
    command: "--innodb_use_native_aio=0"
    ports:
      - 3306:3306
    volumes:
      - ./data/mysql/data:/var/lib/mysql

参考网址:https://stackoverflow.com/questions/48239668/fails-to-initialize-mysql-database-on-windows-10

2. 启动Docker时报错ssh command error, IP未分配

问题描述

启动Docker时报错,报错内容为:

Error checking TLS connection: Something went wrong running an SSH command!
command : ip addr show
err     : exit status 255
output  :




                    ##         .
              ## ## ##        ==
           ## ## ## ## ##    ===
       /"""""""""""""""""\___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
       \______ o           __/
         \    \         __/
          \____\_______/

Error getting IP address: Something went wrong running an SSH command!
command : ip addr show
err     : exit status 255
output  :
docker is configured to use the default machine with IP
For help getting started, check out the docs at https://docs.docker.com

Start interactive shell

可以看到该Docker Toolbox的IP未分配,一般分配的IP为192.168.99.100 。

原因
未知
解决办法

在Docker Toolbox中重新创建docker machine,具体操作步骤如下:

  • 关闭Docker Toolbox中启动的服务,并关闭该软件;
  • 进入.docker文件夹(一般位于Administator用户下),删除该文件夹下面的certs和machines文件夹;
  • 重启Docker Toolbox,直至出现IP为止。

3. Docker-Compose文件中镜像挂载文件丢失

问题描述

Docker-Compose文件中某个镜像挂载文件(volumns)丢失。

原因
未知
解决办法

将该镜像的挂载文件拷贝至镜像中。

4. Windows保存文件时报错OS ERROR

问题描述

代码片段如下:

file_name = 'output_%s.xls' % datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'download/%s' % file_name)
f.save(file_path)

该代码片段在Mac系统中运行正常,可以生成xls文件,但是在Windows系统报错,错误内容为OS ERROR

原因
Windows系统的文件名中不允许出现/ \ : * " < > | 这几个符号,代码的文件名含有:号。
解决办法

在Windows系统运行的时候,将代码中的文件名中的冒号改成其他Windows系统支持的符号即可。

5. windows下默认安装docker后导致C盘空间不够

问题描述

windows下默认安装docker后导致C盘空间不够

原因
Windows系统安装Docker的默认路径为C盘,一般C盘的硬盘空间往往不够,推荐用其他的数据盘。
解决办法
1.默认虚拟盘在C:\Users\A\.docker\machine\machines\default\disk.vmdk

2.备份所有C:\Users\A\.docker的文件到D盘

3.启动Oracle VM VirtualBox在设置-存储删除存储介质下面的控制器

4.在Oracle VM VirtualBox的安装目录下执行:C:\Program Files\Oracle\VirtualBox>vboxmanage internalcommands sethduuid "D:\Users\A\.docker\machine\machines\default\disk.vmdk",此举是修改disk.vmdk的UUID以免冲突

5.启动Oracle VM VirtualBox在设置-存储增加新的控件器,分别添加新虚拟光驱和虚拟硬盘,且分别指向备份到D盘下的ISO和vmdk文件

6.启动Oracle VM VirtualBox在管理-虚拟介质管理器里可以对原来C盘下的虚拟光驱和虚拟硬盘进行删除,这样可以节省C盘的磁盘空间

7.重新启动docker即可。

参考网址:https://blog.csdn.net/xpb1980/article/details/90480983

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows系统上安装和使用Docker,您可以按照以下步骤进行操作: 1. 首先,您需要下载并安装Docker Desktop。您可以从Docker官方网站下载Docker Desktop Installer.exe文件\[1\]。运行该安装程序,并按照提示完成安装过程。 2. 在安装过程中,您可能需要安装Linux内核包。您可以下载wsl_update_x64文件\[1\],并按照提示进行安装。 3. 安装完成后,您可以打开Docker Desktop应用程序。在Windows任务栏中找到Docker图标,单击它以启动Docker。 4. 确保Docker服务已启动。您可以使用以下命令来检查Docker服务的状态: ``` systemctl status docker ``` 5. 如果Docker服务未启动,您可以使用以下命令来启动它: ``` systemctl start docker ``` 6. 现在,您可以使用Docker命令来管理和运行容器。例如,您可以使用以下命令来查看正在运行的容器: ``` docker ps ``` 7. 如果您需要进入容器的命令行界面,您可以使用以下命令: ``` docker exec -it \[容器ID\] bash ``` 这些是在Windows系统上安装和使用Docker的基本步骤。请注意,这些命令和步骤可能会根据您的具体环境和需求有所不同。您可以根据需要进行调整和扩展。 #### 引用[.reference_title] - *1* *2* [Windows 安装docker(详细图解)](https://blog.csdn.net/Liuj666/article/details/126099982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v4^insert_chatgpt"}} ] [.reference_item] - *3* [windows下安装docker详细步骤](https://blog.csdn.net/m0_67391870/article/details/124458087)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值