1、簡介java
提及docker,大多數人第一時間想起來的應該有虛擬化、雲計算,這三者有什麼區別呢?linux
對比:docker
2、docker安裝centos
在這裏使用的操做系統是centos7.4的版本,安裝的docker版本是18.03.1-ce,首先咱們先配置好咱們的yum源,建立新文件:/etc/yum.repos.d/docker-ce.repo緩存
[docker-ce-stable] name=Docker CE Stable - $basearch baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable enabled=1 gpgcheck=1 gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg [docker-ce-stable-debuginfo] name=Docker CE Stable - Debuginfo $basearch baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable enabled=0 gpgcheck=1 gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg
3、docker的使用服務器
在這裏我只跟你們介紹我所用到的一些命令的用法,其它的你們能夠自行查看,docker commandapp
command:測試
images或者image ls -a: 查看當前有哪些鏡像,這裏須要說明的是容器是由鏡像建立的,那麼咱們怎麼建立鏡像呢?別急,一個一個來ui
pull 鏡像名: 這樣咱們就是從GitHub上面拉取別人建立好的鏡像,好比咱們拉取Java的一個鏡像,就是docker pull Java,基於這個雲計算
Java鏡像,咱們能夠定製本身的鏡像
search 鏡像名: 就會搜索這個全部公共的鏡像
built -t -f Dockerfile文件: 這個命令就是基於一個鏡像(好比Java鏡像)來建立本身的鏡像,Dockerfile文件後面會詳細介紹的
run --name 容器名 -d -p 宿主機端口:容器端口 鏡像名: 這個是建立一個容器,-d是之後臺進程運行,-p暴露你想暴露的端口
container ls -a 或者 ps -a: 查看已經存在的容器,從中能夠看到容器運行的狀態等信息
rmi 鏡像名或者image rm 鏡像名: 刪除一個鏡像
rm 容器名或者container rm 容器名: 刪除一個容器,這裏須要注意的是,刪除一個運行中的容器是刪除不掉的,須要先中止它,使用下面的命令中止
stop 容器名: 中止一個運行中的容器
基本的操做就這些,其它的命令還有不少,我就不一一介紹了,後面文章還會涉及到集羣,到時候用到那些命令,再詳細的介紹
4、Dockerfile
上面咱們談到建立本身的鏡像的時候,用到了Dockerfile,咱們先來看下我寫過的一個Dockerfile文件:
FROM java ENV APP_HOME=/opt/byit_jar \ BYIT_TYPE=byit-test WORKDIR ${APP_HOME} ADD ${BYIT_TYPE}-0.0.1-SNAPSHOT.jar ${APP_HOME} ENTRYPOINT java -jar ${APP_HOME}/${BYIT_TYPE}-0.0.1-SNAPSHOT.jar
解釋說明:
FROM java //這行的意思就是引用咱們上面pull下來的那個Java鏡像
ENV //定義變量
WOEKDIR //定義容器工做的目錄,就是上面定義的/opt/byit_jar
ADD //就是把當前目錄下的jar包拷貝到工做目錄下面去
ENTRYPOINT //運行工做目錄下的jar包,記住,不能之後臺進程的方式去運行,否則的話,容器起不來
咱們就能夠運行docker build -t byit-test . 生成一個byit-test的鏡像,咱們可使用這個鏡像來生成容器了,執行,
docker run --name byit-test1 -d -p 8080:8080 byit-test //爲了區分,我把容器的名稱寫成byit-test1了!
5、私有倉庫
咱們剛剛pull下來的鏡像是在共有倉庫中存儲的,咱們若是想把本身建立的鏡像放在本身的私有倉庫中使用的話,能夠本身搭建