Docker實(shí)踐筆記

一,安裝Docker,下載Docker CE(Community Edition)

1.MAC環(huán)境

https://store.docker.com/editions/community/docker-ce-desktop-mac

2.Linux環(huán)境

https://store.docker.com/editions/community/docker-ce-server-centos?tab=description

3.Windows環(huán)境(Windows 10, Windows7)

https://www.docker.com/products/docker-toolbox

Wiki本地下載地址:DockerToolbox.exe

安裝DockerToolbox完成后,將boot2docker.iso置于

C:\Users\Administrator\.docker\machine\cache\boot2docker.iso,路徑名根據(jù)自己的操作系統(tǒng)用戶名有所變化

建議都使用Docker Toolbox,ToolBox會(huì)在虛擬機(jī)中創(chuàng)建Linux環(huán)境并運(yùn)行Docker Engine

DockerToolBox會(huì)使用boot2docker.iso在VirtualBox中創(chuàng)建一個(gè)Linux系統(tǒng)實(shí)例,

當(dāng)創(chuàng)建完成后,執(zhí)行docker-machine ls命令查看default虛擬機(jī)已創(chuàng)建

執(zhí)行docker-machine ssh default進(jìn)入虛擬機(jī)linux環(huán)境終端,即可執(zhí)行docker命令

Docker基礎(chǔ)知識(shí)

https://docs.docker.com/get-started/#container-diagram

二,容器運(yùn)行環(huán)境

Host OS一般指Unix系的操作系統(tǒng),Docker利用Linux環(huán)境提供Namespace資源隔離技術(shù)實(shí)現(xiàn)相互隔離的輕量虛擬化環(huán)境。

三、Docker名詞

Image, 鏡像

Contianer, 容器,運(yùn)行鏡像時(shí)生成,可保存為鏡像

Docker Engine,Docker引擎

Docker File, 鏡像制作定義文件

Docker Engine Swarm Mode,Docker引擎集群模式

Docker Compose File,運(yùn)行服務(wù)定義文件,yml格式的文件

Registry,鏡像倉庫

Official Registry, 官方鏡像倉庫,訪問Docker Hub網(wǎng)站可查詢

Private Registry,私有鏡像倉庫,建立在本地網(wǎng)絡(luò)用于快速傳輸鏡像文件

四、常用Docker命令

docker ps,查看運(yùn)行的容器

docker ps -a,查看所有運(yùn)行的容器

docker ps --help,查看ps參數(shù)說明

docker --help,查看所有docker命令的說明

docker images,查看本地已經(jīng)下載的鏡像

docker inspect [container-name],查看容器詳細(xì)信息

docker exec -it [container-name] /bin/bash,執(zhí)行容器內(nèi)部bash

docker run [image-name],運(yùn)行鏡像

docker rm [container-name],刪除容器,通過docker ps -a命令查看所有容器,刪除不再使用的容器,釋放空間

docker search [image-name],搜索官方倉庫鏡像名稱

docker swarm init,初始化建立docker集群

docker service ls,查看運(yùn)行在docker集群的服務(wù)

docker node ls,查看集群節(jié)點(diǎn)信息

Docker私有倉庫

在Docker Engine配置私有倉庫地址,在Docker運(yùn)行系統(tǒng)中修改配置文件/etc/docker/daemon.json,加入以下內(nèi)容:

{

"insecure-registries":["10.129.26.1:5000"] ,

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],

"experimental":true

}

以上配置了一個(gè)私有倉庫地址為10.129.26.1:5000,同時(shí)配置了一個(gè)鏡像倉庫的國內(nèi)訪問地址https://docker.mirrors.ustc.edu.cn。

設(shè)置experimental為true時(shí),可以使用docker引擎的實(shí)驗(yàn)功能

在docker toolbox創(chuàng)建的虛擬機(jī)環(huán)境中可以嘗試使用以下命令加入配置:

sudo -i

echo ??{\"insecure-registries\":[\"10.129.26.1:5000\"] ,\"registry-mirrors\": [\"https://docker.mirrors.ustc.edu.cn\"],\"experimental\":true} >> /etc/docker/daemon.json

exit

重啟boot2docker虛擬機(jī)

五、示例

示例1:運(yùn)行一個(gè)Redis容器

從官方倉庫下載最新版本的redis鏡像,本地運(yùn)行redis鏡像,創(chuàng)建redis容器在后臺(tái)運(yùn)行,暴露6379為服務(wù)訪問端口,并命名容器為redis-one

docker run --name redis-one -p 6379:6379 -d redis redis-server --appendonly yes

關(guān)閉redis容器

docker stop redis-one

啟動(dòng)已經(jīng)存在,再次啟動(dòng)容器

docker start redis-one

示例2:運(yùn)行一個(gè)zookeeper容器

創(chuàng)建最新版本zookeper鏡像容器,在后臺(tái)運(yùn)行,并暴露2181端口作為服務(wù)訪問端口

docker run --name zookeeper-one?-p 2181:2181 -d zookeeper

docker start zookeeper-one

執(zhí)行以下命令查看本地鏡像,可見redis:latest和zookeeper:latest兩個(gè)鏡像

docker images

示例3:運(yùn)行一個(gè)RabbitMQ容器

從私有倉庫10.129.26.1:5000下載rabbitmq:management鏡像,啟動(dòng)一個(gè)名為rabbit-one的容器,并暴露服務(wù)端口5671對應(yīng)原服務(wù)端口5672,15672對應(yīng)web界面服務(wù)端口;

同時(shí)設(shè)置rabbitmq,hostname=localmq,user=localuser,password=123456,vhost=localvmq

docker run --name rabbit-one -p 15672:15672 -p 5671:5672 --hostname localmq -e RABBITMQ_DEFAULT_USER=localuser -e RABBITMQ_DEFAULT_PASS=123456 -e RABBITMQ_DEFAULT_VHOST=localvmq -d 10.129.26.1:5000/rabbitmq:management

示例4:運(yùn)行一個(gè)Oracle容器

從私有倉庫10.129.26.1:5000下載wnameless/oracle-xe-11g鏡像,運(yùn)行名為oracle-one的容器并暴露1521位數(shù)據(jù)庫服務(wù)訪問端口

docker run --name oracle-one -d -p 49160:22 -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true 10.129.26.1:5000/wnameless/oracle-xe-11g

數(shù)據(jù)庫訪問信息:

port: 1521

sid: xe

username: system

password: oracle

創(chuàng)建數(shù)據(jù)庫

使用SQL Developer工具連接到數(shù)據(jù)庫,點(diǎn)擊用戶,創(chuàng)建新的schema(用戶名和密碼),并賦予connect和resource權(quán)限

拷貝數(shù)據(jù)

使用SQL Developer工具,使用Tools中Database Copy功能拷貝數(shù)據(jù)庫

如要比較數(shù)據(jù)庫對象結(jié)構(gòu),可使用Tools中Database Diff功能進(jìn)行比較

關(guān)閉oracle容器

docker stop oracle-one

啟動(dòng)已經(jīng)存在,再次啟動(dòng)容器

docker start oracle-one

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,849評論 15 147
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,753評論 0 120
  • 一、Docker 簡介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,521評論 0 27
  • 與妻同往同里,參加彌撒。妻穿了紅棉襖,顯得有點(diǎn)靚麗。 在老街一點(diǎn)心店吃小餛飩。 古玩店開著,有一本筆記《不下帶編 ...
    黃葉村人閱讀 118評論 1 0

友情鏈接更多精彩內(nèi)容