docker 04 Dockerカスタムミラーパッケージを作成する

4068 ワード

カスタムミラーパッケージを作成する2つの方法
    1、            ,         
    2、  Dockerfile    

カスタムミラー
1、       docker run -itd centos
2、            docker exec -it    id  bash
          ,     
3、        docker  commit    id       :  
4、      docker save       >   .tar

Dockerfileを使用してミラーを編成する
      yum  

       yum    
[rhel7]
name=rhel
baseurl=ftp://192.168.4.254/rhel7
enabled=1
gpgcheck=0

  :       ,   yum  ,      ifconfig   

Dockerfileを使用してミラーを編成する
FROM centos  #  centos      (         ,      )
RUN  rm -f /etc/yum.repos.d/*.repo  #        
ADD  local.repo /etc/yum.repos.d/local.repo   #      local.repo        docker      
RUN  yum install net-tools vim-enhanced psmisc iproute -y    #        

命令を編成する.
docker  build  -t  myos:latest  .     #    ,         Dockerfile      ,        myos,   latest

myosベースhttpdのミラーを作成する
FROM myos 
RUN  yum install -y httpd
ENV  EnvironmentFile=/etc/sysconfig/httpd
EXPOSE 80
CMD  ["/usr/sbin/httpd", "-DFOREGROUND"]

Dockerfile構文フォーマット
– FROM:    
– MAINTAINER:       
– EXPOSE:     
– ENV:    
– ADD:       
– RUN:          ,     
– WORKDIR:          
– CMD:          ,      CMD
– ENTRYPOINT             ,      docker run        。   Dockerfile        ENTRYPOINT,      ,        。
– USER ,USER             UID。# Usage: USER [UID]   ; USER 751
– VOLUME , VOLUME                   。# Usage: VOLUME ["/dir_1", "/dir_2" ..]  ; VOLUME ["/my_files"]

プライベートウェアハウスの作成1プロファイルの追加/etc/docker/daemon.json
touch  /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.4.10:5000"]
}

dockerサービスの再起動
systemctl restart docker

2プライベートウェアハウスの起動
docker run -d -p 5000:5000 registry

3プライベートウェアハウスへのミラーのアップロードテスト
3.1どのミラーをアップロードするかをマークする
docker  tag   busybox:latest        ip:5000/busybox:latest

3.2ミラーのアップロード
docker  images
docker  push       ip:5000/busybox:latest

4私有倉庫の使用
            
http://192.168.4.10:5000/v2/_catalog
             
http://192.168.4.10:5000/v2/myos/tags/list

5プライベートウェアハウス実行コンテナ5.1を使用してプロファイル/etc/docker/daemon.jsonを追加
touch  /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.4.10:5000"]
}

5.2 dockerサービスの再起動
systemctl  restart  docker

5.3起動容器
docker run -itd 192.168.4.10:5000/myos:latest
docker run -itd 192.168.4.10:5000/myos:python

コンテナのストレージとポートマッピング
ストレージボリュームのマッピング
docker run -d  -v /var/webroot:/var/www/html   myos:httpd

ブロガー個人ブログサイト:http://blog.doveop.com/