`
tooby
  • 浏览: 118190 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Docker虚拟机和镜像地址配置

 
阅读更多

基本使用

安装完成Toolbox后会有一个Docker Quickstart Terminal的快捷方式,双击运行如果报错,那可能是因为你已经安装了Hyper-v,所以VirtualBox无法用64位的虚拟机。需要卸载Hyper-v。

运行后会在Virtualbox中创建一个叫做default的虚拟机,然后很有可能会卡在waiting for an IP的命令下,然后就死活不动了。我的做法是彻底放弃Docker Quickstart Terminal,根本不用这玩意儿,关掉,我们用PowerShell进行虚拟机的管理。

打开PowerShell,输入:

docker-machine ls

我们可以看到我们当前的Docker虚拟机的状态。如果什么都没有的话,那么我们可以使用以下命令创建一个Docker虚拟机。

docker-machine create --driver=virtualbox default

创建完毕后,我们在用docker-machine ls确认我们的Docker虚拟机在运行中。

然后使用以下命令获得虚拟机的环境变量:

docker-machine env default

然后再输入:

docker-machine env default | Invoke-Expression

这样我们就把当前的PowerShell和虚拟机里面的Docker Linux建立的连接,接下来就可以在PowerShell中使用docker命令了。

比如我们要查看当前有哪些镜像:

docker images

当前有哪些容器:

docker ps –a

其他各种docker命令我就不在这里累述了。

Docker虚拟机文件地址修改

默认情况下,docker-machine创建的虚拟机文件,是保存在C盘的C:\Users\用户名\.docker\machine\machines\default 目录下的,如果下载和使用的镜像过多,那么必然导致该文件夹膨胀过大,如果C盘比较吃紧,那么我们就得考虑把该虚拟机移到另一个盘上。具体操作如下:

1.使用docker-machine stop default停掉Docker的虚拟机。

2.打开VirtualBox,选择“管理”菜单下的“虚拟介质管理”,我们可以看到Docker虚拟机用的虚拟硬盘的文件disk。

3.选中“disk”,然后点击菜单中的“复制”命令,根据向导,把当前的disk复制到另一个盘上面去。

4.回到VirtualBox主界面,右键“default”这个虚拟机,选择“设置”命令,在弹出的窗口中选择“存储”选项。

5.把disk从“控制器SATA”中删除,然后重新添加我们刚才复制到另外一个磁盘上的那个文件。

这是我设置好后的界面,可以看到我在步骤3复制的时候,复制到E:\VirtualBox\default\dockerdisk.vdi文件去了。

image

6.确定,回到PowerShell,我们使用docker-machine start default就可以启动新地址的Docker虚拟机了。确保新磁盘的虚拟机没有问题。就可以把C盘那个disk文件删除了。

【注意:不要在Window中直接去复制粘贴disk文件,这样会在步骤5的时候报错的,报错的内容如下,所以一定要在VirtualBox中去复制!】

Failed to open the hard disk file D:\Docker\boot2docker-vm\boot2docker-vm.vmdk. Cannot register the hard disk 'D:\Docker\boot2docker-vm\boot2docker-vm.vmdk' {9a4ed2ae-40f7-4445-8615-a59dccb2905c} because a hard disk C:\Users\用户名\.docker\machine\machines\default\disk.vmdk' with UUID {9a4ed2ae-40f7-4445-8615-a59dccb2905c} already exists. Result Code: E_INVALIDARG (0x80070057) Component: VirtualBox Interface: IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554} Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

镜像加速

在国内使用Docker Hub的话就特别慢,为此,我们可以给Docker配置国内的加速地址。我看了一下,DaoCloud和阿里云的镜像加速还不错,另外还有网易的蜂巢。选一个就行了。以DaoClound为例,注册账号,然后在https://www.daocloud.io/mirror 就可以看到DaoClound提供给您的镜像加速的URL。然后到PowerShell中去依次执行:

docker-machine ssh default 
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile 
exit 
docker-machine restart default

这样重启Docker后就可以用国内的镜像来加速下载了。

试一下下载一个mysql看看快不快:

docker pull mysql

下载完镜像,我们运行一个容器:

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123 mysql:latest

接下来我们打开windows下的mysql客户端,服务器地址填docker虚拟机的IP地址,通过docker-machine env可以看到,我这里是192.168.99.100,然后用户名root,密码123,这样我们就可以连接到docker容器里面的mysql了。

【注意,Docker容器是在VirtualBox的虚拟机里面,不是在Windows里面,所以不能用127.0.0.1访问】

分享到:
评论

相关推荐

    Docker环境下的前后端分离部署与运维

    ## Docker虚拟机常用命令1. 先更新软件包 ```shell yum -y update ```2. 安装Docker虚拟机 ```shell yum install -y docker ```3. 运行、重启、关闭Docker虚拟机 ```shell service docker start service docker ...

    docker-elk 6.2.2镜像下载

    docker-elk镜像下载(logstash、elasticsearch、kibana)6.2.2版本, 有文字教程安装,从docker安装、到镜像启动

    百度云链接:安装有GCNv2-SLAM-CPU的ubuntu18.04的docker镜像

    本资源是安装有GCNv2_SLAM-CPU的ubuntu18.04镜像的百度云链接,因此需先安装docker虚拟机并具备一定基础。另外,GCNv2_SLAM-CPU的详细安装教程(ubuntu18.04)在链接:...

    SeedUbuntu虚拟机使用手册1

    SeedUbuntu虚拟机使用手册1是关于使用SeedUbuntu虚拟机的详细指南,本手册将指导用户从搭建实验环境到安装docker、创建镜像、使用容器、启动telnet服务等多个方面。 实验环境搭建 在SeedUbuntu虚拟机使用手册1中,...

    DockerToolbox容器环境安装配置和环境搭建

    window7系统安装docker容器工具,可建立虚拟机、镜像、容器,搭建统一开发环境,移植方便,压缩里附带配置说明和开发环境命令文件《docker配置和环境搭建.txt》,其他window系统也可以借鉴。

    Docker基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载.md

    "Docker基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载" 是一份全面介绍 Docker 技术的资源,旨在帮助用户深入了解 Docker 的核心概念、工作原理、以及与传统虚拟机技术的区别。这份资源通过清晰...

    使用docker-machine 管理Azure容器虚拟机1

    ### 使用docker-machine管理Azure容器虚拟机 #### 一、概述 ...通过以上步骤,我们可以有效地利用docker-machine来管理和操作部署在Azure平台上的Docker虚拟机,从而提高开发效率并简化运维流程。

    win7下docker安装配置手册

    win7下docker安装配置手册,包含离线安装boot2docker.iso镜像文件,ssh登录docker,迁移docker虚拟机的虚拟硬盘等。

    在虚拟机上安装docker的方法.doc

    现在在Linux虚拟机上安装程序,越来越多的人都使用docker完成,本次就记录下在虚拟机上安装docker的过程。 Docker是一个开源的应用容器引擎。Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将...

    docker镜像制作详细教程

    + Docker 镜像可以理解为虚拟机模板,虚拟机模板就像停止运行的虚拟机,而 Docker 镜像就像停止运行的容器;作为一名研发人员,则可以将镜像理解为类(Class)。 ## 镜像和容器的关系 + 镜像可以理解为一种构建时...

    mongo.tar 镜像

    mongo docker 镜像

    云原生Docker和K8S 01-Docker基础

    同时,也会介绍 Docker 的仓库、镜像和容器的概念。 Docker 的基础概念: 1. 镜像(Image):镜像是一个模板,用于创建 Docker 容器。镜像可以理解为魔法领域中的一个苹果,可以变成现实中的东西。 2. 容器...

    docker部署Java项目流程

    Docker 部署 Java 项目流程 Docker 是一个开源的应用容器引擎,基于 Go 语言开发并遵从 Apache2.0...由于产生的磁盘镜像和应用程序的操作系统设置相互交叉,而 Docker 是基于内核级的虚拟化,提供了更高的性能和效率。

    docker-cluster:docker 环境的前后端项目分离部署总结

    Docker虚拟机常用命令 1. 先更新软件包 yum -y update 2. 安装Docker虚拟机 yum install -y docker 3. 运行、重启、关闭Docker虚拟机 service docker start service docker start service docker stop 4. 搜索镜像 ...

    基于 VirtualBox 虚拟机管理器安装 Docker 容器及相关镜像

    VirtualBox 软件来管理虚拟机,如何基于 Vagrant 快速创建多台虚拟机节点,以及在安装过程中一些错误信息的解决方案,安装完虚拟机以后,在上面部署了 Docker 容器,在容器中安装 MySQL、Redis、Nginx 等常用镜像,...

    Proxmox LXC 容器安装docker

    然后,我们可以使用 Docker 运行 Rancher 镜像,并将其映射到 80 和 443 端口上,以便访问 Rancher web 界面。 在安装 Rancher 之前,我们需要配置主机名、IP 地址和时区设置。然后,我们可以使用 NTP 服务器来同步...

    Docker视频教程.txt

    P1010_Docker配置阿里云镜像仓库 P1111_Docker基本命令 P1212_Docker镜像操作命令 P1313_Docker容器操作基本命令 P1414_Docker容器操作进阶命令 P1515_Docker容器宿主机端口映射 P1616_Docker commit提交运行...

    Docker学习之CentOS 7安装配置

    Docker学习之CentOS 7安装配置 Docker 是一个开源工具,可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。Docker 帮助系统管理员和程序员在容器中开发应用...

Global site tag (gtag.js) - Google Analytics