• docker和anaconda使用基础


    docker和虚拟机的区别

    Docker是在操作系统层面进行虚拟化,而传统VM则直接在硬件层面虚拟化

    LXC(linux container)

    docker基于LXC(linux内核虚拟化技术),和vm、Hypervisor相比效率提高很多。实现了一个容器只包含一个进程的微服务架构
    Hypervisor:抽象虚拟化硬件平台
    VMWare, XEN抽象虚拟化操作系统
    LXC进程级别虚拟化

    docker engine和dokcer machine

    Docker machine是docker的工具,用来在虚拟加上安装docker engine,并使用命令管理虚拟机 ,docker toolbox安装boot2docker到虚拟机,docker-machine通过网络访问和部署

    两种安装方式

    • docker toolbox for windows (安装toolbox更简单,win7 还是只能用 Docker Toolbox,而 Win10 已经通过 Hyper-V 直接支持)

    https://docs.docker.com/toolbox/toolbox_install_windows/
    安装错误:https://blog.csdn.net/zhang_yasong/article/details/105239575(或者,快捷方式添加管理员权限即可)
    virtualbox 升级版本,自带的版本有问题
    桌面快捷方式,打开的终端是windows模拟的bash窗口,本地方式访问的docker和docker-machine程序
    docker-machine通过boot2docker进入docker环境
    docker-machine ls查看docker主机
    docker pull ubuntu下载image
    启动终端,打开docker-egine后,启动Kitematic (Alpha),登录如下
    在这里插入图片描述

    docker-machine ssh default 连接machine(只是一个连接部署工具,docker使用docker attach命令连接或者docker exec)
    修改docker镜像源:https://blog.csdn.net/u012814856/article/details/80427561
    Docker 官方中国区: https://registry.docker-cn.com
    网易: http://hub-mirror.c.163.com
    中科大: https://docker.mirrors.ustc.edu.cn
    阿里云容器 服务 https://cr.console.aliyun.com/,创建镜像仓库后
    在这里插入图片描述
    输入提示的docker login,在镜像搜索中查找镜像地址,docker pull

    • docker tools 提示需要VT-X/AMD-v enabled

    “${DOCKER_MACHINE}” create -d virtualbox P R O X Y _ E N V “ PROXY\_ENV “ PROXY_ENV{VM}”
    替换为
    “${DOCKER_MACHINE}” create -d virtualbox --virtualbox-no-vtx-check P R O X Y _ E N V “ PROXY\_ENV “ PROXY_ENV{VM}”

    • docker for windows,下面的操作基于docker for windows

    容器和镜像

    镜像相当于类文件,容器则是镜像的实例。
    docker生成镜像文件(文件不包含操作系统内核,只有虚拟的文件系统),可以通过virtualbox打开镜像

    vscode docker

    在这里插入图片描述

    image:可以通过dockerfile dock build image编译
    container:附加镜像
    registries:docker个人数据库

    dockers和window交互

    在这里插入图片描述

    docker run --rm -it -v /d/:/mnt/d image_name,
    docker setting中选择磁盘共享

    -v参数,本地目录:docker目录
    在dockertoolbox中先把windows目录挂接到docker-machine中(自动挂载点),在使用-v挂载

    Docker 命令

    docker run -it(交互模式,有控制台) --rm -v(磁盘映射) -m 3g(内存只能该小,改大需要在ui中配置,toolbox在virtualbox中设置)
    docker attach 连接docker


    docker update -m 30M --memory-swap 30M 897a6a09807a修改内存(linux中有效)
    docker stats containid 查看内存


    docker exec 执行命令
    docker build dockerfile
    docker images:查看镜像
    docker ps:查看运行容器
    docker tag imageid 位置:name
    docker rename containername newname
    docker commit containerid[container name] tag(相同tag可覆盖)
    docker cp拷贝文件到本地


    docker ip设置,使用桥接外网是通的,添加路由可以连接本机

    route add -p 172.17.0.0 mask 255.255.0.0 192.168.99.100
    https://blog.csdn.net/u014104286/article/details/82961203

    docker图形化操作

    docker search dockerui
    docker pull dockerui名称

    anaconda查询

    conda create --name 创建环境 module(source activate 环境)
    conda install --name 环境 module
    conda env list 查看安装的环境
    source activate <环境> 激活安装的环境

    docker与docker相互访问

    docker和主机互访

    • docker run -p 33:22 映射主机33端口到docker22端口,使用ssh访问localhost:33访问即可
    • docker run -P 映射所有端口
    • docker port id 查看docker映射的端口信息

    docker inspect containerid,配置中添加,然后重启

    "PortBindings":{
    	"22/tcp":{
    		"HostIp":"",
    		"HostPort":"33"
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    docker管理工具

    docker-machine实现多个电脑安装docker,k8s更高效的管理
    参考:从Docker Machine到K8S:容器管理为啥有这么多工具?

  • 相关阅读:
    【攻破css系列——第四天】元素显示模式
    LeetCode验证二叉搜索树
    异步编程规避Redis的阻塞(中)
    Liunx常用命令
    Java面向对象(二)
    强化学习
    手机短信注册验证与登录功能
    Python-Opencv 识别滑块验证码缺口位置(四)
    Angular项目简单使用拦截器 httpClient 请求响应处理
    Spring框架中的bean管理(XML和注解及属性的注入)
  • 原文地址:https://blog.csdn.net/m0_67393342/article/details/126327456