Docker Machine 入门实践@FreeBSD

2024-04-29 11:52

本文主要是介绍Docker Machine 入门实践@FreeBSD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这篇文档里,我们安装了docker machine:FreeBSD安装Docker记录-CSDN博客

在这篇文档里,我们启动虚拟主机myvm并进入虚拟主机:boot2docker实践@FreeBSD-CSDN博客

现在开始更深入的进行 docker的实战演练。参考Docker Machine官方文档:Docker Machine | 菜鸟教程

 

 Docker Machine 入门实践

基本操作

在FreeBSD系统中,使用docker-machine命令查看一下docker:

docker-machine ls
NAME       ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
myvm       *        virtualbox   Running                 Unknown   Machine does not have a host-only adapter
testmyvm   -        virtualbox   Stopped                 Unknown   

就像前面文档中讲到的,可以使用如下命令创建一个:

docker-machine create --driver virtualbox test

查询docker ip

docker-machine ip myvm

停止和启动

docker-machine  stop myvm
docker-machine  start myvm

进入机器

docker-machine ssh myvm

进阶操作

查看虚拟主机的情况

docker-machine inspect  myvm

输出信息

{"ConfigVersion": 3,"Driver": {"IPAddress": "","MachineName": "myvm","SSHUser": "docker","SSHPort": 0,"SSHKeyPath": "","StorePath": "/home/skywalk/.docker/machine","SwarmMaster": false,"SwarmHost": "tcp://0.0.0.0:3376","SwarmDiscovery": "","VBoxManager": {},"HostInterfaces": {},"CPU": 1,"Memory": 1024,"DiskSize": 20000,"NatNicType": "82540EM","Boot2DockerURL": "","Boot2DockerImportVM": "","HostDNSResolver": false,"HostOnlyCIDR": "192.168.99.1/24","HostOnlyNicType": "82540EM","HostOnlyPromiscMode": "deny","UIType": "headless","HostOnlyNoDHCP": false,"NoShare": false,"DNSProxy": true,"NoVTXCheck": false,"ShareFolder": ""},"DriverName": "virtualbox","HostOptions": {"Driver": "","Memory": 0,"Disk": 0,"EngineOptions": {"ArbitraryFlags": [],"Dns": null,"GraphDir": "","Env": [],"Ipv6": false,"InsecureRegistry": [],"Labels": [],"LogLevel": "","StorageDriver": "","SelinuxEnabled": false,"TlsVerify": true,"RegistryMirror": [],"InstallURL": "https://get.docker.com"},"SwarmOptions": {"IsSwarm": false,"Address": "","Discovery": "","Agent": false,"Master": false,"Host": "tcp://0.0.0.0:3376","Image": "swarm:latest","Strategy": "spread","Heartbeat": 0,"Overcommit": 0,"ArbitraryFlags": [],"ArbitraryJoinFlags": [],"Env": null,"IsExperimental": false},"AuthOptions": {"CertDir": "/home/skywalk/.docker/machine/certs","CaCertPath": "/home/skywalk/.docker/machine/certs/ca.pem","CaPrivateKeyPath": "/home/skywalk/.docker/machine/certs/ca-key.pem","CaCertRemotePath": "","ServerCertPath": "/home/skywalk/.docker/machine/machines/myvm/server.pem","ServerKeyPath": "/home/skywalk/.docker/machine/machines/myvm/server-key.pem","ClientKeyPath": "/home/skywalk/.docker/machine/certs/key.pem","ServerCertRemotePath": "","ServerKeyRemotePath": "","ClientCertPath": "/home/skywalk/.docker/machine/certs/cert.pem","ServerCertSANs": [],"StorePath": "/home/skywalk/.docker/machine/machines/myvm"}},"Name": "myvm"
}

 现在还无法通过docker-machine命令获得虚拟机的ip地址等信息,只好到virtual box中查看ip,发现是192.168.5.102 ,可以通过ssh来登录它。

ssh docker@192.168.56.102
docker@192.168.56.102's password: ( '>')/) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.(/-_--_-\)           www.tinycorelinux.netdocker@boot2docker:~$ 

这样至少也可以开始后面的docker操作了。

总结:

前段时间整docker的时候,弄出来的docker-machine ,现在终于算是会玩了。

整个流程就是:

FreeBSD下使用pkg install docker-machine安装docker-machine,

然后可以使用docker-machine命令创建tiny-linux核心的boot2docker虚拟主机,并可在virtual-box中启动这个虚拟主机。boot2docker虚拟主机里面有全套的docker实现套件,这样就可以开始docker之旅了。

这就是在FreeBSD系统下进行docker的终极解决方案。

boot2docker本来是为了mac os和windows下使用docker而生的,但是后来mac和win下都有了docker实现,反而现在成了FreeBSD下的解决方案,真是事事难料、造化弄人啊! 

调试

虚拟机报错Error getting IP address: Machine does not have a host-only adapter

在vitrual-machine里给myvm虚拟机设定一块host-only的网卡

命令docker-machine ip报错err     : exit status 255

docker-machine ip myvm
(docker@127.0.0.1) Password for docker@x250:
(docker@127.0.0.1) Password for docker@x250:
(docker@127.0.0.1) Password for docker@x250:
Error getting IP address: ssh command error:
command : ip addr show
err     : exit status 255
output  :
提示需要输入docker的密码,我要想想...

问题是这个密码是啥时候输入、设定的啊!先保留问题,后面发现可以暂时不输入口令跳过,但是不知道这样处理是否正确(感觉肯定是有问题的)

docker-machine  start myvm 报错

docker-machine start  myvm
Starting "myvm"...
(myvm) Check network to re-create if needed...
(myvm) Found a new host-only adapter: "vboxnet16"
Error setting up host only network on machine start: /usr/local/bin/VBoxManage hostonlyif ipconfig vboxnet16 --ip 192.168.99.1 --netmask 255.255.255.0 failed:
VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available)
VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp
 

这个没解决,暂时采用到Virtual-box里面手动开机处理。

boot2docker默认的用户名和密码

在 boot2docker 中,默认的用户名和密码是:

user: docker pass: tcuser

登录方法:

$ ssh docker@localhost -p 2022

不过这个登录方法,在FreeBSD下,还没法用,因为根本就没看到2022端口啊。

这篇关于Docker Machine 入门实践@FreeBSD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946015

相关文章

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.