如何打包建立映象和執行Docker容器及常用命令
阿新 • • 發佈:2018-12-23
如何寫Dockerfile參考:
相關主機和地址
主要命令
檢視本地已有映象
docker images
如:
10.10.36.213:root@docker-registry:/root/Dockerfile/jetty/jetty-1.8.45]#
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.10.36.213/library/tdaajdk7 v1.13 73c1db03b30c 3 hours ago 696.2 MB
10.10.36.213/library/tdaajdk7 v1.11 99268829471a 19 hours ago 696.2 MB
10.10.36.213/library/tdaajdk7 v1.10 b5308b7f7c41 20 hours ago 696.2 MB
10.10.36.213/library/tdaajdk7 v1.9 0818f66669cb 20 hours ago
616.8 MB
build映象
在Dockerfile所在目錄執行
docker build -t 10.10.36.213/library/你的映象名:版本 .
別忘了最後的點,用來指定Dockerfile的位置
build過程類似這樣:
[email protected] ~/Dockerfile/eureka $
docker build -t 10.10.36.213/library/test:v1.0 .
Sending build context to Docker daemon 78.69 MB
Step 1 : FROM 192.168.16.100/jdk8:8u74
---> d84b155276a9
Step 2 : MAINTAINER jingchaosong [email protected]
---> Using cache
---> 369126ee2c40
Step 3 : ADD eureka-server-1.1-SNAPSHOT.jar /root/
---> Using cache
---> cd3facb762b3
Successfully built cd3facb762b3
push映象
docker push 10.10.36.213/library/你的映象名:版本
如果出現push失敗的情況,並且提示需要的登入,請使用以下命令login到私有映象倉庫
docker login 10.10.36.213
使用者名稱admin
密碼Harbor12345
email可以不填
run容器
直接以daemon方式執行
docker run -d --net=mynet 10.10.36.213/library/你的映象名:版本 命令
--net=mynet是讓docker呼叫我們自己的網路外掛來分配IP地址,IP地址從我們自己配置的IP池裡獲取
檢視啟動的容器的IP地址可以用以下命令
docker inspect container_id | grep IPAddress
互動方式執行
docker run -it --net=mynet 10.10.36.213/library/你的映象名:版本
docker run的時候可以加很多引數,如容器的資源配額限制、hostname、掛載本地目錄、DNS等配置,請參看docker run --help
檢視容器狀態
檢視正在執行的容器的狀態
docker ps
檢視所有容器(包括已經Exit容器的狀態)
docker ps -a
刪除容器
docker rm container_id
container_id只需要前幾位字元就可以了,只要能夠區別不同容器即可,不需要輸入全部ID欄位
強制刪除容器
docker rm -f container_id
刪除映象
docker rmi image_id
進入容器內部
前提是必須是正在執行的容器
docker exec -it container_id /bin/bash
執行exit退出
檢視容器詳細資訊
docker inspect container_id
可以看到容器的配置資訊和掛載的本地目錄、網路配置、狀態等
映象製作注意事項
Dockerfile與打包映象所需的資源都放在同一目錄下,如果add tar.gz包,build映象的時候,tar包可以自動解壓到對應目錄中,新增目錄的話使用./xxx /dir/to/des/
目前的docker叢集使用swarm手動管理,在10.10.36.213上run的容器實際上上執行在10.10.0.85或86這兩臺主機上。
使用docker info可以檢視這兩臺主機的資訊
REPOSITORY TAG IMAGE ID CREATED SIZE
10.10.36.213/library/tdaajdk7 v1.13 73c1db03b30c 3 hours ago 696.2 MB
10.10.36.213/library/tdaajdk7 v1.11 99268829471a 19 hours ago 696.2 MB
Step 1 : FROM 192.168.16.100/jdk8:8u74
---> d84b155276a9
Step 2 : MAINTAINER jingchaosong [email protected]
---> Using cache
---> 369126ee2c40
Step 3 : ADD eureka-server-1.1-SNAPSHOT.jar /root/
---> Using cache
---> cd3facb762b3