Docker簡單使用之二 -常用命令

Docker鏡像常用命令

和使用yum 的命令差不太多

搜索鏡像存在鏡像加速器中的鏡像

docker search java

//執行結果
NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
node                                         Node.js is a JavaScript-based platform for...   5698      [OK]       
tomcat                                       Apache Tomcat is an open source implementa...   1880      [OK]       
java                                         Java is a concurrent, class-based, and obj...   1741      [OK]       
openjdk                                      OpenJDK is an open-source implementation o...   1011      [OK]       
ghost                                        Ghost is a free and open source blogging p...   775       [OK]       
anapsix/alpine-java                          Oracle Java 8 (and 7) with GLIBC 2.23 over...   311                  [OK]
jetty                                        Jetty provides a Web server and javax.serv...   250       [OK]       
couchdb                                      CouchDB is a database that uses JSON for d...   208       [OK]       
tomee                                        Apache TomEE is an all-Apache Java EE cert...   51        [OK]       
groovy                                       Apache Groovy is a multi-faceted language ...   44        [OK]       
lwieske/java-8                               Oracle Java 8 Container - Full + Slim - Ba...   38                   [OK]
cloudbees/jnlp-slave-with-java-build-tools   Extends cloudbees/java-build-tools docker ...   17                   [OK]
zabbix/zabbix-java-gateway                   Zabbix Java Gateway                             12                   [OK]
frekele/java                                 docker run --rm --name java frekele/java        9                    [OK]
davidcaste/alpine-java-unlimited-jce         Oracle Java 8 (and 7) with GLIBC 2.21 over...   9                    [OK]
blacklabelops/java                           Java Base Images.                               8                    [OK]
fabric8/s2i-java                             S2I Builder Image for plain Java applications   5                    
jorgemoralespou/s2i-java                     OpenShift's Java S2I Builder image. Suitab...   2                    [OK]
rightctrl/java                               Oracle Java                                     2                    [OK]
appuio/s2i-maven-java                        S2I Builder with Maven and Java                 1                    [OK]
dwolla/java                                  Dwolla鈥檚 custom Java image                      1                    [OK]
cfje/java-buildpack                          Java Buildpack CI Image                         0                    
cfje/java-test-applications                  Java Test Applications CI Image                 0                    
appuio/s2i-gradle-java                       S2I Builder with Gradle and Java                0                    [OK]
thingswise/java-docker                       Java + dcd                                      0                    [OK]

NAME:鏡像倉庫名稱
DESCRIPTION:鏡像倉庫描述
STARS:收藏數量,受歡迎程度
OFFICIAL:是否官方倉庫,標記爲【OK】的鏡像爲各軟件的官方項目組創建和維護,
AUTOMATED:表示是否是自動構建的鏡像倉庫

下載鏡像

//下載java鏡像
docker pull java

查看當前的鏡像

docker images

刪除鏡像

docker rmi hello-world
docker rmi <image Id>
//出現Error response from daemon: conflict: unable to delete e38bc07ac18e (must be forced) - image is being used by stopped container c90bbff5b722
//使用下邊的命令
docker rmi -f imageId
//刪除所有的鏡像
docker rmi -f ${docker images}
//先停止所有的container,這樣才能夠刪除其中的images:
docker stop $(docker ps -a -q)
//如果想要刪除所有container的話再加一個指令:
docker rm $(docker ps -a -q)
//查看當前有些什麼images
docker images
//想要刪除untagged images,也就是那些id爲<None>的image的話可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
//要刪除全部image的話
docker rmi $(docker images -q)

新建和啓動容器

docker run
 -d:後臺運行
 -P:隨機端口映射
 -p:指定端口映射,
     - ip:hostIp:containerPort
     - ip:containerPort
     - hostIp:containerPort
     - containerPort
 --network選項:指定網絡模式,該選項有以下可選參數:
     --network=bridge:默認選項,標示連接到默認的網橋
     --network=host:容器使用宿主機的網絡
     --network=container:name或者id 讓新建的容器使用已有的網絡配置
     --network=none:不配置該容器的網絡,用戶可以自定義網絡。

先輸出一個Hello World

docker run java /bin/echo 'Hello World'
docker pull nginx
//這裏不知道爲什麼映射80:8080不行,映射80:80時候可以,有知道可以告知下
docker run -d -p 80:8080 nginx
//如果不能訪問在宿主機中開啓端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

進入運行中的容器

使用nsenter,docker attach不建議使用。

//找到pid
docker inspect --format "{{.State.Pid}}" 114e58588372
9732
//進入啓動的docker容器實例
nsenter --target 9732 --mount --uts --ipc --net --pid
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章