docker常用操作命令


win10安裝docker

1. https://hub.docker.com/ 下載docker 並安裝
2. 設置鏡像源: 在docker的設置界面: docker engine 配置:
"registry-mirrors": [ "https://tp6zbrdb.mirror.aliyuncs.com" ]
3. 下載鏡像: https://hub.docker.com/ 點擊 Explore, 輸入你要想的鏡像 進去后 復制命令到本地的cmd 窗口執行即可下載
 
 
Docker部署jar包運行
方式一:
1. 上傳jar到服務器的指定目錄
2. 在該目錄下創建Dockerfile 文件
FROM java:8
MAINTAINER laiqiaobo
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","demo.jar"]
# from java:8   拉取一個jdk為1.8的docker image
# maintainer  作者是bingo
# demo-0.0.1-SNAPSHOT.jar 就是你上傳的jar包,替換為jar包的名稱
# demo.jar  是你將該jar包重新命名為什么名稱,在容器中運行
#  expose  該容器暴露的端口是多少,就是jar在容器中以多少端口運行
# entrypoint 容器啟動之后執行的命令,java -jar demo.jar  即啟動jar
 
4. 創建好Dockerfile文件之后,執行命令 構建鏡像:
// 注意最后的 `.`  表示 Dockerfile 文件在當前目錄下 abc是構建之后鏡像名稱
docker build -t abc .
5. 鏡像構建成功之后,就可以運行容器了
docker run -d --restart=always --name demo -p 8080:8080 abc
這個表示docker容器在停止或服務器開機之后會自動重新啟動
--restart=always -p 宿主端口:容器端口
 
方式二
運行一個jdk的容器,然后掛載其中的目錄到宿主機,然后運行之后,就可以將需要運行的jar放在宿主機的掛載目錄下,然后每次重新運行docker容器即可。每次發布只需要替換宿主機中的jar包即可
 
1.准備 jdk1.8的鏡像
2.構建容器, 並映射本地目錄
docker run -d --restart=always -v /C/develop/server:/jar  -p 8000:8001 --name=cdemo   primetoninc/jdk:1.8 java -jar -Duser.timezone=GMT+08 /jar/mybatis.jar
 
 -v 宿主機目錄:docker中的目錄,在win10下 /C/代表c盤
primetoninc/jdk:1.8      鏡像名:版本號
java -jar -Duser.timezone=GMT+08 /jar/mybatis.jar   啟動命令
 
常用命令
docker ps     // 查看運行中的容器
docker ps -a     // 查看所有容器
docker rm  xxx    // 刪除名為xxx的容器
docker start xxx   // 啟動xxx容器
docker stop  xxx   // 停止容器
docker stats 命令查看實際情況
docker exec -it bfc6039f87f7  /bin/bash     //進入某個容器內部

// 修改容器的可用內存大小
docker update -m 300m --memory-swap 1g bfc6039f87f7
參數解釋
-d: 后台運行容器,並返回容器ID;
--name="nginx-lb": 為容器指定一個名稱;
-p: 指定端口映射 主機端口:容器端口
-m :設置容器使用內存最大值,例如: -m 1g  或者 -m 300M
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
--memory="300m" --memory-swap="1g"  代表可使用內存300m,memory-swap為1g
-m 300M --memory-swap -1     代表可使用內存300m,memory-swap為不設上限,
如果值相同,則不能使用swap

docker run 或者 docker update
--cpuset-cpus=""    # 允許使用的 CPU 集合 
    例:--cpuset-cpus "0,6"  --cpuset-cpus "0-5"
-c,--cpu-shares=0    # CPU 共享權值(相對權重)
--cpu-period=0    # 限制 CPU CFS 的周期,范圍從 100ms~1s,即[1000, 1000000]
    即調度周期,多久重新分配一次cpu
--cpu-quota=0    # 限制 CPU CFS 配額,必須不小於1ms,即 >= 1000
    設置在每個周期內容器能使用的 CPU 時間。例如:4核cpu中,調度1s, 配額2s,相當於用50%cpu
    設置容器在一個調度周期內能使用的 CPU 時間時實際上設置的是一個上限。並不是說容器一定會使用這么長的 CPU 時間。
--cpuset-mems=""    # 允許在上執行的內存節點(MEMs),只對 NUMA 架構有效
docker run 和 docker start 區別
docker run 只在第一次運行時使用,將鏡像放到容器中,以后再次啟動這個容器時,只需要使用命令docker start 即可。 相當於執行了兩步操作:將鏡像放入容器中(docker create),然后將容器啟動,使之變成運行時容器(docker start)。
docker start的作用是,重新啟動已存在的鏡像,可以使用docker ps找到容器的信息。
 
 
 
 
linux安裝docker
一、環境
      本地虛擬機安裝的centos7
二、安裝docker
yum install docker-engine
三、開啟阿里雲加速
docker的鏡像倉庫在國外,下載會很慢,啟用阿里雲加速。
在/etc/docker目錄下創建daemon.json文件,添加如下內容

{
  "registry-mirrors": ["https://almtd3fa.mirror.aliyuncs.com"]
}
https://almtd3fa.mirror.aliyuncs.com為阿里雲的加速地址。修改后,重啟docker

systemctl daemon-reload
service docker restart
四、下載java鏡像
         下載java鏡像,tag為8u111
docker pull java:8u111
五、執行可運行的jar文件
 將test.jar放在虛擬機的/usr目錄下,然后執行命令啟動jar。

docker run -d -p 9090:9090 -v /usr/springboot-1.jar:/usr/springboot-1.jar --name springboot java:8u111 java -jar /usr/springboot-1.jar

     -d 表示在后台啟動
     -p 9090:9090 表示將容器的端口 映射成宿主主機的端口,否則9090端口訪問不到
     -v /usr/springboot-1.jar:/usr/springboot-1.jar 表示將宿主主機的jar文件,映射到容器中(分號前為宿主主機的路徑,分號后為容器中的路徑)
     --name springboot表示為該容器取一個全局唯一的名稱,這里我取的名稱為springboot
    java:8u111 表示鏡像文件的名稱和tag
    java -jar /usr/springboot-1.jar 表示運行jar包,注意:這里的jar包為容器中的位置,是通過前面的-v屬性映射的

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM