Docker是在操作系统层面进行虚拟化,而传统VM则直接在硬件层面虚拟化
docker基于LXC(linux内核虚拟化技术),和vm、Hypervisor相比效率提高很多。实现了一个容器只包含一个进程的微服务架构 Hypervisor:抽象虚拟化硬件平台 VMWare, XEN抽象虚拟化操作系统 LXC进程级别虚拟化
Docker machine是docker的工具,用来在虚拟加上安装docker engine,并使用命令管理虚拟机 ,docker toolbox安装boot2docker到虚拟机,docker-machine通过网络访问和部署
两种安装方式
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 中科大: https://docker.mirrors.ustc.edu.cn,创建镜像仓库后
输入提示的docker login,在镜像搜索中查找镜像地址,docker pull
“${DOCKER_MACHINE}” create -d virtualbox $PROXY_ENV “${VM}”
替换为
“${DOCKER_MACHINE}” create -d virtualbox --virtualbox-no-vtx-check $PROXY_ENV “${VM}”
镜像相当于类文件,容器则是镜像的实例。 docker生成镜像文件(文件不包含操作系统内核,只有虚拟的文件系统),可以通过virtualbox打开镜像
image:可以通过dockerfile dock build image编译 container:附加镜像 registries:docker个人数据库
docker run --rm -it -v /d/:/mnt/d image_name, docker setting中选择磁盘共享
-v参数,本地目录:docker目录 在dockertoolbox中先把windows目录挂接到docker-machine中(自动挂载点),在使用-v挂载
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 search dockerui docker pull dockerui名称
conda create --name 创建环境 module(source activate 环境) conda install --name 环境 module conda env list 查看安装的环境 source activate <环境> 激活安装的环境
docker inspect containerid,配置中添加,然后重启
"PortBindings":{
"22/tcp":{
"HostIp":"",
"HostPort":"33"
}
}
docker-machine实现多个电脑安装docker,k8s更高效的管理 参考:从Docker Machine到K8S:容器管理为啥有这么多工具?