簡(jiǎn)介
Docker對(duì)于運(yùn)維的意義在于通過鏡像容器進(jìn)行快速的部署。對(duì)于我而言則是Windows袁滥,Mac OSX和Ubuntu的環(huán)境統(tǒng)一菱父。只需要專注與應(yīng)用。
Macbook安裝Docker
安裝阿里云加速器
- 復(fù)制地址您的專屬加速器地址除师,將地址填入Docker的配置中,路徑如下:Preferences–>Daemon–>Basic–>Registry mirrors扔枫,然后重啟
Windows安裝Docker
1.安裝docker-toolbox
- 下載安裝docker-toolbox
- 啟動(dòng)docker-quickerstart-terminal
有時(shí)會(huì)遇到boot2docker.iso不是最新汛聚,連接github下載失敗的情況;可通過迅雷直接將boot2docker.iso下載到本地后短荐,放入指定文件目錄解決
- 測(cè)試是否安裝成功:在終端中輸入
docker run hello-world
Docker 鏡像命令
存出鏡像 docker save
docker save -o hello-world.tar hello-world:latest
載入鏡像 docker load
docker load --input hello-world.tar
刪除鏡像
- 首先刪除依賴鏡像的容器
docker rm <container id>
- 刪除鏡像
docker rmi <image id>
Docker 容器命令
新建容器
docker create -it hello-world:latest
啟動(dòng)容器
docker start <container id>
新建并啟動(dòng)容器
docker run
#-t 表示打開偽終端
#-i 讓容器的標(biāo)準(zhǔn)輸入打開
守護(hù)狀態(tài)運(yùn)行容器
docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done
#-d 守護(hù)狀態(tài)運(yùn)行
使用docker logs 獲取容器輸出信息
終止容器
docker stop <container id>
進(jìn)入守護(hù)狀態(tài)的容器
attach
exec
nsenter
刪除容器
docker rm <container id>
強(qiáng)制刪除容器
docker rm -f <container id>
導(dǎo)出容器
docker export <container id>>target.tar
導(dǎo)入容器
cat target.tar |docker import - <repository>:tag
docker 倉庫命令
登錄
docker login
搜索鏡像
docker search keyword
下載鏡像
docker pull centos
從國內(nèi)Docker pool下載
docker pool dl.dockerpool.com:5000/ubuntu:12.04
基于已有的鏡像創(chuàng)建鏡像
docker commit
#docker commit -m 'my comment' -a 'sunq' <container-id> repo:tag
數(shù)據(jù)卷
使用DaoCloud鏡像源
docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
exit
docker-machine restart default
Docker安裝Caffe
方法一:手動(dòng)安裝
- 下載Ubuntu
docker pull ubuntu:16.04
- 新建啟動(dòng)容器
sudo docker run --dns 8.8.8.8 --dns 8.8.4.4 --name ubuntu_caffe -i -t ubuntu:16.04 /bin/bash
建立本地與容器數(shù)據(jù)卷的映射
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
- 執(zhí)行apt-get安裝基礎(chǔ)軟件
- 安裝vim
apt-get update && apt-get install -y vim
#安裝ananconda需要bzip2
apt-get install -y bzip2
- 按照Dockerfile安裝剩余軟件
通過Github中Caffe的dockerfile可安裝剩余軟件
方法二:直接利用Dockerfile生成鏡像
- 從Github下載Dockerfile
- 在dockerfile所在目錄執(zhí)行
docker build . -t ubuntu_caffe_cpu
Docker中Ubuntu安裝git
apt-get update && apt-get install -y git
Docker安裝使用juypter notebook
- 內(nèi)部安裝
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' <container-id> caffebookcpu:latest
- 啟動(dòng)虛擬機(jī)
docker run --name 'caffebook' -it -p 8888:8888 -v /Users/sunq/docker/caffedata:/workspace caffebookcpu bash
在bash中運(yùn)行
jupyter notebook
- 在瀏覽器中訪問
http://localhost:8888
如果使用了docker-toolbox中的docker-machine倚舀,則localhost替換為對(duì)應(yīng)的docker-machine的ip
虛擬機(jī)
登錄虛擬機(jī)
docker-machine ssh default
優(yōu)化
Windows下修改虛擬機(jī)的虛擬硬盤位置(C盤到D盤)
- 停止虛擬機(jī)
- 打開virtualbox,復(fù)制虛擬盤disk.vmdk到D盤
- 修改虛擬硬盤位置