從零搭建docker私有倉庫的步驟
實驗環(huán)境:
- centos7 64位
- ubuntu16.04 64位(用于測試私有倉庫)
本文分為四個部分:
第一部分: 安裝docker
第二部分: 鏡像的操作
第三部分: 容器的操作
第四部分: 私有倉庫的創(chuàng)建
第一部分: 安裝docker
# 通過yum源安裝docker sudo yum -y install docker # 啟動docker sudo systemctl start docker # 開機自啟 sudo systemctl enable docker
第二部分: 鏡像的操作
查找并下載docker鏡像(以centos為例)
# 查找centos鏡像 docker search centos # 下載centos鏡像 sudo docker pull docker.io/centos:latest
列出鏡像
sudo docker image ls
刪除鏡像
sudo docker image rm 4655e9997674
第三部分: 容器的操作
創(chuàng)建容器并進入
sudo docker run -t -i --name zhaoolee-centos docker.io/centos:latest /bin/bash
參數(shù)說明: -t分配一個偽終端并綁定到容器的標(biāo)準(zhǔn)輸入,-i 讓容器的標(biāo)準(zhǔn)輸入保持打開
查看所有容器
sudo docker ps -a
啟動容器
sudo docker start zhaoolee-centos
查看當(dāng)前運行的容器
sudo docker ps
停止容器
sudo docker stop zhaoolee-centos
進入容器環(huán)境
sudo docker attach zhaoolee-centos
向容器內(nèi)部發(fā)送指令
我們可以在不進入容器環(huán)境的情況下, 向容器內(nèi)部發(fā)送指令
sudo docker exec zhaoolee-centos touch 123.txt
刪除容器
將容器停止后, 可以刪除容器
sudo docker rm zhaoolee-centos
(選學(xué))docker高級命令
交換文件 docker cp
通過docker cp
命令, 可以實現(xiàn)容器與外部環(huán)境的文件交換
我們在docker容器內(nèi)部新建一個123.txt
文件, 將它拷貝到外部環(huán)境, 在外部環(huán)境新建一個456.txt拷貝到docker容器內(nèi)部(如下圖)
即使容器處于未激活狀態(tài), 也是可以進行文件交換的
將修改后的容器發(fā)布為鏡像
# 將修改后的容器發(fā)布為鏡像, `-a`表示作者, `-m`表示對本次修改的說明 sudo docker commit -a "zhaoolee" -m "add 123.txt 456.txt" zhaoolee-centos zhaoolee-centos:0.1 # 基于新建的鏡像創(chuàng)建容器 sudo docker run -t -i --name my-centos zhaoolee-centos:0.1 /bin/bash
查看鏡像的信息
# 查看剛剛新建的鏡像信息 sudo docker history zhaoolee-centos:0.1
查看容器內(nèi)變動日志
sudo docker diff zhaoolee-centos
查看鏡像和容器的詳細信息
# 查看鏡像的詳細信息 sudo docker inspect zhaoolee-centos:0.1 # 查看容器的詳細信息 sudo docker inspect zhaoolee-centos
第四部分: 私有倉庫的創(chuàng)建
1. 下載私有倉庫注冊服務(wù)器的鏡像
sudo docker pull registry:latest
2. 創(chuàng)建一個注冊服務(wù)器容器
sudo docker run -d -p 5000:5000 --name server-registry -v /tmp/registry:/tmp/registry docker.io/registry:latest
參數(shù)說明 -d容器在后端運行, -p 5000:5000在容器的5000端口運行并映射到外部系統(tǒng)的5000端口, --name server-registry容器命名為server-registry, -v /tmp/registry /tmp/registry把宿主機的目錄/tmp/registry掛載到容器目錄/tmp/registry
3. 為本地鏡像添加標(biāo)簽,并將其歸入本地倉庫
為本地鏡像添加標(biāo)簽
sudo docker tag zhaoolee-centos:0.1 localhost:5000/zhaoolee-centos:0.1
將被標(biāo)記的本地鏡像, push到倉庫
sudo docker push localhost:5000/zhaoolee-centos:0.1
4.測試本地倉庫的的可用性
在虛擬機內(nèi)網(wǎng),開啟另一臺ubuntu16.04虛擬機, unbutu16.04嘗試從centos7獲取剛剛創(chuàng)建的鏡像zhaoolee-centos:0.1
sudo docker pull 192.168.214.156:5000/zhaoolee-centos:0.1
# 解決安裝過程中的問題:解決: Error response from daemon: Get https://192.168.214.156:5000/v2/: http: server gave HTTP response to HTTPS client echo '{ "insecure-registries":["192.168.214.156:5000"] }' > /etc/docker/daemon.json
docker作為一種新興的虛擬化方式,無論是執(zhí)行速度、內(nèi)存損耗或者文件存儲速度,都要比傳統(tǒng)虛擬機技術(shù)更高效, docker本身支持類似git的操作, 讓應(yīng)用的迭代部署更為簡單高效, 對于一些依賴非常復(fù)雜的應(yīng)用, 我們可以直接下載它的docker版本, 開箱即用, 省時省力, 同時為運維人員創(chuàng)造了更多偷懶的機會~
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一文詳解如何在Ubuntu系統(tǒng)中安裝docker
這篇文章主要為大家詳細介紹了在Ubuntu操作系統(tǒng)上安裝Docker的步驟,以便我們可以開始使用Docker來構(gòu)建和運行容器化應(yīng)用程序,希望對大家有所幫助2024-03-03將spring boot應(yīng)用打入docker中運行的實現(xiàn)方法
這篇文章主要介紹了將spring boot應(yīng)用打入docker中運行的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Docker容器導(dǎo)致磁盤空間不足無法訪問的解決方法
本文主要介紹了Docker容器導(dǎo)致磁盤空間不足無法訪問的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05使用DockerFile構(gòu)建鏡像與鏡像上傳的實現(xiàn)步驟
本文主要介紹了使用DockerFile構(gòu)建鏡像與鏡像上傳的實現(xiàn)步驟,使用Dockerfile好處是自動化構(gòu)建,確保環(huán)境的一致性和可重復(fù)性,跟蹤構(gòu)建過程的演化等,文中通過圖文講解的非常詳細,需要的朋友可以參考下2024-02-02docker network_mode: "host" 網(wǎng)絡(luò)配置方式
這篇文章主要介紹了docker network_mode: "host" 網(wǎng)絡(luò)配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05詳解通過docker和docker-compose實現(xiàn)eureka高可用
這篇文章主要介紹了詳解通過docker和docker-compose實現(xiàn)eureka高可用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09