1. 程式人生 > >docker從安裝到入門(centos7連不上網)

docker從安裝到入門(centos7連不上網)

我們安裝好centos7之後,只用網路連結的NAT模式,主機有網你就有網,傻瓜式連結。但是發現ping不通百度。。

通過ifconfig -a發現ens33沒有ip,雖然和這個沒關係,因為用的是NAT模式。我們編輯vi /etc/sysconfig/network-scripts/ifcfg-ens33

將onboot設定為true即可。

連線後 我們按網路上的教程。

uname -r看是否版本足夠

yum update更新版本

yum install -y docker-io安裝

systemctl start docker.service啟動服務

 

我們安裝好之後,如何使用呢。

client是docker客戶端。

images是docker映象

containers是容器

registry是集中儲存分發映象的服務。最常用的Docker Registry是官方的Docker Hub

 

通過docker images來檢視我們有哪些映象。

一個沒有。。我們可以去下載(docker hub),或者自己打包

1.下載:docker pull centos

2.打包需要通過dockerfile來自動編譯生成映象。新建dockerfile文字檔案,將打包好的war放在一起。內容如下:

         FROM:基於哪個映象,你需要有一個參照的 標準映象。

   VOLUME:可以將本地資料夾或者其他container的資料夾掛載到container中

     ADD:將檔案<src>拷貝到container的檔案系統對應的路徑<dest>

   RUN:RUN命令將在當前image中執行任意合法命令並提交執行結果。命令執行提交後,就會自動執行Dockerfile中的下一個指令

   ENTRYPOINT:container啟動時執行的命令,但是一個Dockerfile中只能有一條ENTRYPOINT命令,如果多條,則只執行最後一條

我們需要cd到jar的目錄下執行

3.docker使用dockerfile打包命令   docker build -t wechat .     最後有個點


docker容器就成成了,可以用docker images來檢視。。這就相當於一個執行環境。。

4.通過docker run -d -p 8080:8080 wechat 來執行

docker run --name {容器名} -p {宿主機埠}:{docker埠} –v {宿主機目錄}:{docker日誌目錄} -d {映象ID:latest}

注意:這裡我使用的centos,發現莫名其妙啟動不了。

原因就是:Docker容器後臺執行,就必須有一個前臺程序。主執行緒結束,容器會退出。
 docker run -d -p wechat 改成 docker -dit -p wechat 就行了。

使用docker stop $(docker ps -a -1) 停止所有的容器。

用docker rmi <image id>來刪除容器,,我發現刪不掉、、官方文件說,只能刪除未使用的。。

使用docker rmi -f  來強制刪除。、。、

docker rm $(docker ps -qf status=exited)  刪除已經停掉的容器。

5.打包jar還是war都需要jdk執行環境,執行jar失敗,檢視日誌發現是沒有jdk

先打包一個jdk得容器然後根據該容器進行構造環境。

 需要一個jdk得tar.gz然後編寫dockerfile

同上面打包,然後執行

docker run -d -it jdk1.8docker:20180730 /bin/bash

注意:建立容器的時候一定要使用 -it /bin/bash這種方式,要不然jdk的容器起不來

 

vim儲存只讀檔案   :w !sudo tee %