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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青0721松

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值