Ubuntu下安裝docker
安裝
安裝命令:html
sudo apt-get update sudo apt-get install docker.io
(若是安裝失敗,也可參考以下網站進行安裝:連接)java
啓動
啓動命令:nginx
sudo service docker start
測試
測試運行hello-world:web
sudo docker run hello-world
運行效果:spring
設置docker鏡像加速
添加鏡像加速地址
編輯daemon.json文件:docker
sudo vim/etc/docker/daemon.json
添加阿里雲加速鏡像地址內容:json
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] }
重啓服務
sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl status docker
下載基礎鏡像
搜索鏡像
進入阿里雲的鏡像倉庫搜索本身想要的鏡像,連接。vim
找到想要的java基礎鏡像:bash
右邊有相應的版本,下載本身想要的版本(注:這裏的java所有是openjdk,不是oracle jdk)。服務器
下載鏡像
語法:
docker pull [OPTIONS] NAME[:TAG|[@DIGEST](https://my.oschina.net/u/3392911)]
說明:
OPTIONS:參數,例如 ‘-a’,下載全部版本的鏡像。 NAME:鏡像名稱,例如 ‘java’。 TAG:爲版本,例如 ‘java:8u111’,java的8u111版本。
實例:
sudo docker pull java:8u111
(注:若是不指定相應的版本,docker則會自動下載最新的版本。)
查看本地鏡像
運行命令:
sudo docker images
編寫Dockerfile
FROM java #基礎的鏡像 ADD application.yml application.yml #添加配置文件 ADD FaceWeb-1.0.2-SNAPSHOT.jar app.jar #添加項目的jar包,並重命名 EXPOSE 80 #聲明端口 VOLUME /tmp #定義匿名卷 #程序的入口點 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar","/app.jar", "--Dspring.config.location=application.yml"] # Ubuntu 時區 RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
(詳情請參考:連接)
修改項目配置application.yml
略。
編譯鏡像
上傳文件
在服務器上創建一個文件夾,用於存放docker文件,將文件經過工具所有發送到服務器上。
編譯
語法:
docker build [OPTIONS] PATH | URL | -
OPTIONS說明:
-f :指定要使用的Dockerfile路徑; -m :設置內存最大值; --tag, -t:鏡像的名字及標籤,一般 name:tag 或者 name格式;能夠在一次構建中爲一個鏡像設置多個標籤。
實例:
sudo docker build -t faceweb .
(注:詳細語法,請查看:連接)
編譯完成後運行查看鏡像,就能夠看到剛剛編譯好的鏡像了。
啓動容器
運行命令
語法:
sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:
-d:後臺運行容器,並返回容器ID; -p: 端口映射,格式爲:主機(宿主)端口:容器端口; --name:"nginx-lb":爲容器指定一個名稱; -e username="ritchie":設置環境變量; -P:隨機端口映射。
(注:詳細語法,請查看:連接)
實例:
sudo docker run –name faceweb -d -p 80:80 faceweb
- 查看運行的容器
語法:
sudo docker ps [OPTIONS]
OPTIONS說明:
-a :顯示全部的容器,包括未運行的; -l :顯示最近建立的容器。
(注:詳細語法,請查看:連接)
實例:
sudo docker ps -a
能夠清楚的看到端口的映射狀況和容器的一些詳細信息。
到目前爲止,docker容器的下載,編譯和部署已經完成,下面是容器的一些經常使用操做介紹。
容器經常使用操做命令
查看運行的容器
查看容器,複製容器的CONTAINER ID。
中止容器
sudo docker stop CONTAINER
啓動容器
sudo docker start CONTAINER
重啓容器
sudo docker restart CONTAINER
刪除容器
sudo docker rm CONTAINER
(注:刪除容器前須要先中止這個容器,刪除是不可逆的,謹慎操做。)
查看容器的日誌
sudo docker logs [OPTIONS] CONTAINER
OPTIONS說明:
-f : 跟蹤日誌輸出; -t : 顯示時間戳; --since :顯示某個開始時間的全部日誌; --tail :僅列出最新N條容器日誌。
實例:
sudo docker logs -f cd4c9b023c46
進入容器
語法:
sudo docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明:
-i :即便沒有附加也保持STDIN 打開; -t :分配一個僞終端。
實例:
sudo docker exec -it faceweb /bin/bash
鏡像的經常使用操做
刪除鏡像
語法
sudo docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS說明:
-f :強制刪除; --no-prune :不移除該鏡像的過程鏡像,默認移除。
實例:
sudo docker rmi faceweb
(注:全部的刪除是不可逆的,請請謹慎操做。)
全部的docker命令請參考:連接