虚拟机
网卡配置
- Host-Only
- 网卡桥接
访问虚拟机
- 默认账号:docker
- 默认密码:tcuser
- root默认密码没有,使用sudo -i切换
常用命令
#导出镜像:
docker save IMAGENAME | bzip2 -9 -c>img.tar.bz2
docker export 7691a814370e > ubuntu.tar
#导入镜像:
bzip2 -d -c <img.tar.bz2 | docker load
cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0
用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。
#下载镜像
docker pull ubuntu
#列表镜像
docker images
#attach镜像
docker attach image-name
#搜索镜像
docker search 镜像名字
#下载镜像
docker pull 镜像名字
#运行
docker -it name
#后台运行
更多的时候,需要让 Docker 容器在后台以守护态(Daemonized)形式运行。
此时,可以通过添加 -d 参数来实现。
#终止运行容器
docker stop cid
#重启/启动容器
docker restart/start cid
#删除
可以使用 docker rm 来删除一个处于终止状态的容器。 例如
$sudo docker rm trusting_newton
trusting_newton
如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL 信号给容器。
#日志
docker logs name
挂载目录
docker可以支持把一个宿主机上的目录挂载到镜像里。
docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash
docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash
通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
默认挂载的路径权限为读写。如果指定为只读可以用:ro
docker还提供了一种高级的用法。叫数据卷。
数据卷:“其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的”。感觉像是由一个容器定义的一个数据挂载信息。其他的容器启动可以直接挂载数据卷容器中定义的挂载信息。
看示例:
docker run -v /home/dock/Downloads:/usr/Downloads --name dataVol ubuntu64 /bin/bash
创建一个普通的容器。用--name给他指定了一个名(不指定的话会生成一个随机的名子)。
再创建一个新的容器,来使用这个数据卷。
docker run -it --volumes-from dataVol ubuntu64 /bin/bash
--volumes-from用来指定要从哪个数据卷来挂载数据。