mac下dockerの構築と使用

4164 ワード

環境の説明
OS:macOS High SierraDockerバージョン:dockerコンテンツの概要:macでのdockerの構築と使用、dockerアクセラレータの構成、dockerプライベートウェアハウスの構築、docker共通コマンド、dockerミラーのカスタマイズ
Dockerインストール
直接dockerの公式サイトにアクセスして、docker CEバージョンをダウンロードしてインストールしますhttps://store.docker.com/editions/community/docker-ce-desktop-mac
dockerのデフォルトのローカルミラーリングでは、現在のユーザーディレクトリの下に存在し、管理を容易にするために専用のデータパーティションに移行します.
docker-composeのインストール

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py 
sudo pip install six --upgrade --ignore-installed 
sudo pip install docker-compose

Dockerアクセラレータ
アリクラウドアクセラレータアクセスの構成https://dev.aliyun.com/search.html 取得加速アドレスの登録https://8q2dp9p9.mirror.aliyuncs.com
cat .docker/daemon.json 
{
"debug" : true,
"experimental" : true,
"registry-mirrors" : [
"https://8q2dp9p9.mirror.aliyuncs.com"
]
}

Dockerプライベートウェアハウス
dockerミラーの修正とカスタマイズを容易にするため、ローカルにプライベートウェアハウスを構築
docker pull registry
docker run -d -p 5000:5000 --restart=always -h registry \
--name registry \
-v /Volumes/MacSoft/data/registry/config/config.yml:/etc/docker/registry/config.yml  \
-v /Volumes/MacSoft/data/registry/data:/var/lib/registry  \
registry
docker exec -it registry sh #    
Ctrl-p Ctrl-q  #  
curl -XGET http://127.0.0.1:5000/v2/_catalog

ローカルウェアハウスの非セキュリティ構成
cat .docker/daemon.json 
{
  "insecure-registries" : [
    "127.0.0.1:5000"
  ],
  "debug" : true,
  "experimental" : true,
  "registry-mirrors" : [
    "https://8q2dp9p9.mirror.aliyuncs.com"
  ]
}

変更/etc/docker/registry/config.yml deleteオプションの追加
version: 0.1
log:
  fields:
    service: registry
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

Ctrl-p Ctrl-q#docker restart registry#を終了ミラーを再起動
Web管理端末の追加
私が選んだのはブレイズです
git clone https://gitee.com/kbsonlong/Breezes.git
Dockerfileの変更
cat Dockerfile
FROM centos

MAINTAINER Mr.tao 

ADD src /Breezes

ADD misc/supervisord.conf /etc/supervisord.conf

ADD requirements.txt /tmp

WORKDIR /Breezes

RUN yum -y update 
RUN yum -y install wget gcc python-devel 
RUN wget https://bootstrap.pypa.io/get-pip.py 
RUN python get-pip.py 
RUN pip install --timeout 30 --index https://pypi.douban.com/simple/ -r /tmp/requirements.txt

EXPOSE 10210

ENTRYPOINT ["supervisord"]

ミラーの構築
docker build -t breezes .
ミラーの実行
docker run -d -p 10210:10210 --restart=always -h breezes\--name breezes breezes
プライベートウェアハウスへのミラーの保存
docker tag breezes 127.0.0.1:5000/breezesdocker push 127.0.0.1:5000/breezes
Docker共通コマンド
シーン1:ミラーのダウンロード、実行、削除
docker pull hello-world  #    
docker images #       
docker ps -a #         
docker run hello-world #  hello-word   
docker ps -a  #           
docker stop {ID} #     
docker rm {ID} #          
docker rmi {ID} #           

シーン2:ミラーをダウンロードして直接実行
docker run  --name ubuntu -it ubuntu bash 
docker cp dd ubuntu:tmp/ #    dd     /tmp   
Ctrl-p Ctrl-q  #  

シーン3:ミラーを修正し、プライベートウェアハウスに保存する
期待結果:ubuntuミラーにapacheを追加し、新しいミラーをプライベートウェアハウスに保存
docker exec -it ubuntu bash 
apt-get update
apt-get install apache2
Ctrl-p Ctrl-q  #  
docker commit -a "mir355" -m "ubuntu add apache2" {ID}  private/ubuntu_apache:v1   #    
docker stop ubuntu 
docker rm ubuntu
docker run -i -t --name apache2 -p 8080:80 private/ubuntu_apache:v1 /bin/bash
/etc/init.d/apache2 start
Ctrl-p Ctrl-q  #  
#   docker tag     ,   registry  
docker tag private/ubuntu_apache:v1 127.0.0.1:5000/private/ubuntu_apache:v1
#       
docker push 127.0.0.1:5000/private/ubuntu_apache:v1
curl http://127.0.0.1:5000/v2/_catalog

#    
docker pull 127.0.0.1:5000/private/ubuntu_apache:v1

の最後の部分
転載先:https://blog.51cto.com/13673090/2092462