本文主要介紹了docker的一些常用命令以及Dockerfile的組成元素
鏡像
拉取鏡像
docker pull
查看鏡像
docker images
刪除鏡像
docker rmi
常用參數:
1. -f:強制刪除運行中的容器
創建鏡像
- docker commit
常用參數:
1. -m:本次提交信息
2. --author="" :作者
2.docker build 使用此從Dockerfile文件來構建鏡像
常用參數:
1. -t x/y:z:指定鏡像的命名空間為x倉庫為y,tag為z
容器
創建/啟動容器
- docker create
docker create命令創建的容器並不會立即進入運行狀態,需要使用docker start命令來啟動 - docker retart 重啟容器
- docker run
常用參數:
1. --name:為容器指定名稱
2. -it:啟動一個交互型容器,此參數為我們和容器提供了一個交互shell
3. -d:創建后台型容器
4. -restart=always:容器退出后自動重啟
5. -restart=on-failure:x:容器退出時如果返回值是非0,就會嘗試重啟x次
6. -p x:y :主機端口:容器端口
7. -P:隨機分配一個49000到49900的端口
8.-v:創建數據卷
7. -n :指定dns
8. -h : 指定容器的hostname
9. -e :設置環境變量
10. -m :設置容器使用內存最大值
11. --net: 指定容器的網絡連接類型,支持 bridge/host/none/container
12. --link=x: 添加鏈接到另一個容器x
13. --expose=x: 開放端口x
這里docker create和docker run -it創建的容器都是交互型容器
查看容器
- docker ps 查看正在運行的容器
常用參數:
1. -a:查看所有容器
2. -l:只列出最近創建的
3. -n=x:只列出最后創建的x個
3. -q:只列出容器id
停止容器
- docker stop
- docker kill
刪除容器
docker rm
常用參數:
1. -f:強制刪除運行中的容器
2. docker rm `docker ps -aq`:刪除所有容器
查看容器日志
docker logs
常用參數:
1. -f:實時查看日志
2. --tail=x:查看最后x行
3. -t:查看日志產生的時間
查看容器進程
docker top
查看容器配置信息
docker inspect
常用參數:
1. -f='{{x}}':查看x配置
進入容器
- docker attch 進入交互型容器
常用參數:
1. -f:強制刪除運行中的容器
2. docker rm `docker ps -aq`:刪除所有容器
- docker exec 進入后台型容器
常用參數:
1. -it 容器id /bin/bash:進入到后台容器
Dockerfile
如下是一個Dockerfile文件,我們就來通過這個文件來學習一下Dockerf的相關指令
1 |
FROM openjdk:8-jre-alpine |
- FROM:文件開頭的指令,指定父級鏡像
- MAINTAINER: 作者信息,syj是用戶名,后面是郵箱
- RUN: 用來執行命令,可以有一下三種形式
- RUN apt-get update
- RUN [ “apt-get”," update" ]
- RUN apt-get update && apt-get nginx
- EXPOSE: 指定容器對外開放的端口
- ADD :將主機上的文件(Dockerfile的相對路徑)或者網絡文件添加到鏡像中
- VOLUME :指定掛載點
- WORKDIR:下方指令執行的目錄
- ENV:設置環境變量
- CMD:啟動容器時默認運行的命令,同RUN的執行方式
- CMD java -jar /app.jar
- CMD [“java”,"-jar","/app.jar"]
- ENTRYPOINT :同CMD
- USER :執行指令的用戶
- ONBUILD:觸發器指令,此鏡像當做父鏡像時執行的命令,可以跟ADD、RUN、ENTRYPOINT
本文出自http://zhixiang.org.cn/,轉載請保留