`
tooby
  • 浏览: 120939 次
  • 性别: 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访问】

分享到:
评论

相关推荐

    linux系统docker离线镜像jdk8镜像资源

    离线镜像意味着用户可以在有网络连接的环境中下载所需的镜像,然后将该镜像文件(通常是一个.tar文件)复制到需要部署的离线环境的服务器上,通过Docker加载和运行,从而避免了在线下载镜像时可能遇到的问题。...

    Docker 操作系统镜像 ubuntu 18.04

    Docker操作系统镜像ubuntu 18.04通常包含了完整的操作系统文件和应用程序,但不同于传统的虚拟机镜像,Docker容器共享宿主机的操作系统内核,因此容器的启动和运行非常轻便。这对于需要快速扩展服务或进行持续集成和...

    docker离线镜像资源jdk21镜像

    Docker容器与传统的虚拟机不同,因为容器共享操作系统内核,并且不需要运行整个操作系统,因此它们在启动速度、资源占用和性能方面更具有优势。 JDK(Java Development Kit)是用于开发Java应用的软件开发工具包,...

    docker ubuntu20 镜像包

    由于Docker镜像是构建在容器虚拟化技术之上的,它与传统的虚拟机相比,具有更高的启动速度和更低的资源消耗。这种轻量级特性使得Docker非常适合微服务架构,是现代云计算和DevOps实践中的关键技术之一。使用Docker ...

    docker镜像openjdk8离线加载包

    Docker镜像是一个轻量级、可执行的独立软件包,包含运行应用程序所需要的所有内容:代码、运行时、库、环境变量和配置文件。由于镜像包含应用程序的执行环境,这就意味着它比传统的虚拟机更为轻便、启动速度更快。 ...

    openjdk.8.tar(docker镜像)

    OpenJDK 8 是Java平台的开源实现,它遵循GPLv2+CE许可证。...openjdk.8.tar的Docker镜像为Java应用开发者和运维人员提供了一个便捷的环境,让开发、测试、部署Java应用更加高效,同时保证了应用的可移植性和隔离性。

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

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

    Docker管理工具 portainer镜像

    使用Portainer镜像的优势在于简化了配置和部署流程,降低了管理Docker集群的难度。 Portainer镜像为用户提供了界面友好的操作体验。用户可以通过网页界面查看当前Docker主机上的容器信息,包括容器的列表、状态、...

    docker 版kooteam镜像资源2

    而在这个过程中,镜像资源则是Docker技术的核心,它们是容器运行环境的模板,用户可以根据这些镜像快速创建和启动容器实例。在这些镜像资源中,kooteam镜像因其实用性和强大的功能而备受关注。 Kooteam是一个专注于...

    docker-elk 6.2.2镜像下载

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

    mysql8离线包docker镜像

    “mysql8离线包docker镜像”指的是一个预先配置好的Docker镜像,这个镜像包含了MySQL 8的离线安装包。这样的镜像允许用户在任何安装了Docker的系统上运行MySQL 8服务,而无需直接安装MySQL软件,同时也解决了网络...

    elasticsearch8.17.1 docker镜像资源

    Docker镜像中包含了运行Elasticsearch服务所需的所有软件和环境配置,一旦镜像构建完成,就可以在任何支持Docker的平台上快速部署。 从给出的文件信息来看,Elasticsearch8.17.1的Docker镜像被进一步压缩,具体是...

    docker入门篇,docker镜像资源

    此外,创建Docker镜像的两种主要方法也会被详细介绍,即使用Dockerfile构建镜像和通过commit命令从容器创建镜像。Dockerfile是Docker镜像构建的基石,其中包含了创建镜像所需的指令集合,如安装软件、设置环境变量、...

    dify,docker的镜像文件中的weaviate.tar,sudo docker load -i weaviate.tar

    Docker的镜像是一个轻量级、可执行的独立软件包,它包含了运行某个软件所需的所有内容:代码、运行时环境、库、环境变量和配置文件。这种特性使得Docker非常适合快速部署应用程序,因为容器可以在不依赖于任何外部...

    SeedUbuntu虚拟机使用手册1

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

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

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

    docker docker镜像 思源笔记部署包

    Docker镜像则是这个系统的核心,它包含了思源笔记的运行环境和所需的所有依赖,通过使用Docker镜像,用户可以不必关心复杂的环境配置问题,只需通过简单的Docker命令就可以启动思源笔记服务。 在部署思源笔记时,...

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

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

Global site tag (gtag.js) - Google Analytics