1. 程式人生 > >linux下的docker私有倉庫

linux下的docker私有倉庫

nvi ecs efault mage -- pull 成功 linu 配置

環境準備
  • 使用兩臺機子, 一個做docker私有倉庫,一個做docker鏡像提交
  • 確保兩臺機子都安裝的docker,並啟動了docker服務
  • docker私有倉庫的機子名為:docker-registry , ip為:192.168.1.101
  • docker鏡像提交的機子名為:docker-app, ip為192.168.1.102

私有倉庫的安裝及鏡像的推送

  • 在docker-registry機子上執行如下命令:
    docker run --name docker-registry -d -p 5000:5000 registry
  • 在docker-app機子上更改/etc/default/docker文件中的內容:

    DOCKER_OPTS="--insecure-registry 192.168.1.101:5000 --dns 114.114.114.114"

  • 修改 /lib/systemd/system/docker.service文件,以支持修改的docker配置文件能使用http協議

    EnvironmentFile=-/etc/default/docker
    ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
  • 重新加載docker服務及重啟docker服務
  • 在docker-app機子上pull 一個鏡像 如: nginx或tomcat
  • 然後查看該鏡像的ID
  • 把該鏡像作為push的標記
    docker tag IMAGE_ID 192.168.1.101:5000/nginx
  • 然後推送到倉庫:
    docker push 192.168.1.101:5000/nginx

  • 查看是否成功: curl -X GET http://192.168.1.101:5000/v2/_catalog
  • 刪掉本地鏡像: docker rmi tomcat 192.168.1.101:5000/tomcat
  • 在docker-app上運行私有倉庫的鏡像: docker run --name nginx01 -p 80:80 -idt 192.168.1.101:5000/nginx

linux下的docker私有倉庫