Docker 入手記錄

背景

最近接觸了一些tensorflow 相關的東西 ,需要在iOS上進行相關機器學習 ,瞭解到需要coreML框架的知識 ,在優達學城 上看了一些課程 ,下了測試程序 ,由於測試程序需要使用Docker ,又瞭解了一些Docker相關知識。
Docker的相關文檔

一些想法

  1. 和github的一些思路很像。操作起來不是很陌生
  2. 類似Java 虛擬機? 將環境全部打包成一個容器
  3. 使用C/S結構 ,a:進行管理(git);b:
  4. 一次build ,隨便run?
  5. 配置yaml文件 ,來配置服務 (配置服務以完成負載均衡 ,集羣配置步驟 :yaml文件配置 ,初始化集羣項目 ,爲將集羣部署到stack上並設置配置文件 )這樣 ,該服務將有多個container來供外部進行訪問以及操作(服務對應的app 以及映射端口, image數量等信息都在yaml中進行了配置)
  6. image與container 相當於類與對象的關係 ,每個container之間相互獨立
  7. 集羣管理 ,使用docker-machine create(命令使用boot2docker工具來通過虛擬機工具創建虛擬機,使用vmfusion創建) 。。。創建集羣中的manager 和worker (manager用來執行相關的docker操作 ,而worker只是用來擴展manager的能力 ,不能直接執行操縱) ,同時,可以使用docker-machine ssh myvm “your-docker-cmd” 來進行遠程虛擬機的docker操作
  8. 接7 ,可以通過docker-machine env you-docker-vm 來獲取遠程的docker環境,並通過執行eval $(docker-machine env you-docker-vm)來環境遷移過來 ,而不用每次都執行docker-machine ssh “….” 這樣的命令 ,之後遠程vm上的docker指令可以直接在當前機器上執行 (這樣的方法,相當於當前機器是一個超級管理員 ,可以獲取遠程管理圓的執行環境,進而獲取到該管理員的權限) ,這些操作的前提是已經有了一個集羣初始化swarm ,cur
  9. 使用docker時報錯“net/http: TLS handshake timeout”
  10. 搭建私有docker倉庫。
docker 倉庫的操作與git倉庫的操作相似 ,都需要使用commit push pull等命令
1. 搭建私有docker倉庫時候使用兩臺機器 ,虛擬機(192.168.44.129)作爲docker倉庫存放地址 ,本機作爲docker倉庫訪問客戶端
2. 設置使用http 而不是默認的https訪問。
3. 遠程虛擬機設置,基本不需要進行設置 ,只是指定鏡像存放位置 ,以及registry啓動
4. 本機設置需要![設置遠程虛擬機的registry地址](https://img-blog.csdn.net/20180410142708771?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NjX3FqeQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 
5. 能夠正常從虛擬機pull 以及進行常規push指令
6. 
  1. docker 可以執行commit指令 ,通過容器來生成鏡像(與通過Dockerfile的方式一樣),具體執行步驟
  2. 已經啓動的容器(ubuntu)配置好了一些環境之後(openwrt開發環境) ,exit 回到docker用戶 ,查看剛纔退出的openwrt環境docker container ls -a 使用commit命令提交生成新的鏡像image ,提供給外部進行調用。
  3. 對container的配置進行動態修改(openwrt環境配置完成之後已經沒有了空間 ,commit生成鏡像時候報no space =,=!!!),
  4. 登錄已經打開的容器

  5. cat /proc/cpuinfo | grep flags | grep ’ lm ’ | wc -l 查看linux核心32 或64

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章