1. 程式人生 > >如何打包建立映象和執行Docker容器及常用命令

如何打包建立映象和執行Docker容器及常用命令

如何寫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可以檢視這兩臺主機的資訊