简介

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在浏览器中访问

http://localhost:8888

如果使用了docker-toolbox中的docker-machine,则localhost替换为对应的docker-machine的ip

虚拟机

登录虚拟机docker-machine ssh default

优化

Windows下修改虚拟机的虚拟硬盘位置(C盘到D盘)停止虚拟机

打开virtualbox,复制虚拟盘disk.vmdk到D盘

修改虚拟硬盘位置

作者:sunqiang