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