简介
Docker对于运维的意义在于通过镜像容器进行快速的部署。对于我而言则是Windows,Mac OSX和Ubuntu的环境统一。只需要专注与应用。
Macbook安装Docker
安装阿里云加速器复制地址您的专属加速器地址,将地址填入Docker的配置中,路径如下:Preferences–>Daemon–>Basic–>Registry mirrors,然后重启
Windows安装Docker
1.安装docker-toolbox下载安装docker-toolbox
启动docker-quickerstart-terminal有时会遇到boot2docker.iso不是最新,连接github下载失败的情况;可通过迅雷直接将boot2docker.iso下载到本地后,放入指定文件目录解决测试是否安装成功:在终端中输入docker run hello-world
Docker 镜像命令
存出镜像 docker savedocker save -o hello-world.tar hello-world:latest
载入镜像 docker loaddocker load --input hello-world.tar
删除镜像首先删除依赖镜像的容器docker rm 删除镜像docker rmi
Docker 容器命令
新建容器docker create -it hello-world:latest
启动容器docker start
新建并启动容器docker run#-t 表示打开伪终端#-i 让容器的标准输入打开
守护状态运行容器docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done
#-d 守护状态运行
使用docker logs 获取容器输出信息
终止容器docker stop
进入守护状态的容器attachexecnsenter
删除容器docker rm
强制删除容器docker rm -f
导出容器docker export >target.tar
导入容器cat target.tar |docker import - :tag
docker 仓库命令
登录docker login
搜索镜像docker search keyword
下载镜像docker pull centos
从国内Docker pool下载docker pool dl.dockerpool.com:5000/ubuntu:12.04
基于已有的镜像创建镜像docker commit#docker commit -m 'my comment' -a 'sunq' repo:tag
数据卷
使用DaoCloud镜像源docker-machine ssh defaultsudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profileexitdocker-machine restart default
Docker安装Caffe
方法一:手动安装下载Ubuntudocker pull ubuntu:16.04新建启动容器sudo docker run --dns 8.8.8.8 --dns 8.8.4.4 --name ubuntu_caffe -i -t ubuntu:16.04 /bin/bash
建立本地与容器数据卷的映射sudo docker run --dns 8.8.8.8 --dns 8.8.4.4 --name ubuntu_caffe -i -t -v /data:/data ubuntu:16.04 /bin/bash执行apt-get安装基础软件安装vimapt-get update && apt-get install -y vim#安装ananconda需要bzip2apt-get install -y bzip2按照Dockerfile安装剩余软件
通过Github中Caffe的dockerfile可安装剩余软件
方法二:直接利用Dockerfile生成镜像从Github下载Dockerfile
在dockerfile所在目录执行docker build . -t ubuntu_caffe_cpu
Docker中Ubuntu安装gitapt-get update && apt-get install -y git
Docker安装使用juypter notebook内部安装pip install jupyter
jupyter notebook --generate-config
修改.jupyter/jupyter_notebook_config.py# Notebook config
c = get_config()
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip='*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:生成填写'
c.NotebookApp.port = 8888保存镜像docker commit -a 'sunq' -m 'add remote access to jupyter notebook' caffebookcpu:latest启动虚拟机docker run --name 'caffebook' -it -p 8888:8888 -v /Users/sunq/docker/caffedata:/workspace caffebookcpu bash
在bash中运行jupyter notebook在浏览器中访问
如果使用了docker-toolbox中的docker-machine,则localhost替换为对应的docker-machine的ip
虚拟机
登录虚拟机docker-machine ssh default
优化
Windows下修改虚拟机的虚拟硬盘位置(C盘到D盘)停止虚拟机
打开virtualbox,复制虚拟盘disk.vmdk到D盘
修改虚拟硬盘位置
作者:sunqiang