前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker常用命令

docker常用命令

作者头像
用户1437675
发布2019-04-27 21:08:15
2.7K0
发布2019-04-27 21:08:15
举报
文章被收录于专栏:Angular&服务

1. 查看运行容器

代码语言:javascript
复制
docker ps

2. 查看所有容器

代码语言:javascript
复制
docker ps -a

3. 进入容器

其中字符串为容器ID:

代码语言:javascript
复制
docker exec -it d27bd3008ad9 /bin/bash

4.停用全部运行中的容器:

代码语言:javascript
复制
docker stop $(docker ps -q)

5.删除全部容器:

代码语言:javascript
复制
docker rm $(docker ps -aq)

6.一条命令实现停用并删除容器:

代码语言:javascript
复制
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

7. 搜索可以使用的镜像

代码语言:javascript
复制
docker search java

搜索出java 的docker镜像

8. 下载安装镜像

代码语言:javascript
复制
docker pull node:latest

9. 启动镜像容器

代码语言:javascript
复制
# 正常启动一个node容器
docker run -it node:latest /bin/bash

# 加参数 --name 表示启动一个名为node的容器
docker run --name node -it node /bin/bash

# -p 80:80:将容器的80端口映射到主机的80端口
docker run -p 80:80 --name mynginx  -it node /bin/bash

10.查看镜像

代码语言:javascript
复制
docker images

镜像列表

11.删除镜像

删除<none>这个镜像

代码语言:javascript
复制
# docker rmi  <镜像ID>
docker rmi 3871

12.删除并停止所有的容器

代码语言:javascript
复制
docker container prune

13.列出所有的容器 ID

代码语言:javascript
复制
docker ps -aq

14.停止所有的容器

代码语言:javascript
复制
docker stop $(docker ps -aq)

15.删除所有的容器

代码语言:javascript
复制
docker rm $(docker ps -aq)

16.删除所有的镜像

代码语言:javascript
复制
docker rmi $(docker images -q)

17.复制文件

代码语言:javascript
复制
docker cp mycontainer:/opt/file.txt /opt/local/docker cp /opt/local/file.txt mycontainer:/opt/

更新 : @snakeliwei 的提醒, 现在的docker有了专门清理资源(container、image、网络)的命令。 docker 1.13 中增加了docker system prune的命令,针对container、image可以使用docker container prunedocker image prune命令。

  • docker image prune --force --all 或者 docker image prune -f -a : 删除所有不使用的镜像
  • docker container prune: 删除所有停止的容器

18.运行Dockerfile文件

代码语言:javascript
复制
docker build -t showroow:v1 .

这条命令的意思是利用当前目录下的Dockerfile来创建一个叫做showroow的镜像标签为v1

19.运行新创建的容器

代码语言:javascript
复制
docker run -it my/python:v1 /bin/bash

20. 保存容器到镜像

代码语言:javascript
复制
docker commit -m="备注" 你的CONTAINER_ID 你的IMAGE

21. 发布镜像

首先要在dockerhub仓库上新建仓库,如下图所示

image.png

创建好后,在命令提示符里登录

代码语言:javascript
复制
docker login

登录完后,把所需上传的容器变为镜像

代码语言:javascript
复制
docker commit containerId dockerUserName/XXX

注:containerId为你需要上传的容器id,dockerUserName为dockerHub的登录名,xxx为仓库名,当然也不一定非得是dockerUserName/xxx,只是为了方便起见

接下来为存在于本地的镜像打标签

代码语言:javascript
复制
docker tag imageName dockerUserName/xxx[:tag]

注:imageName为你需要上传的镜像name,dockerUserName为dockerHub的登录名,xxx为仓库名,必须和你在dockerhub中新建的仓库名相同,tag不指定就是latest

打包好之后,就把打包好的镜像上传

代码语言:javascript
复制
docker push dockerUserName/xxx[:tag]

注:tag不指定就是latest

最后就去dockerhub上查看是否上传成功

22.常用的docker命令

代码语言:javascript
复制
#查找Docker Hub上的镜像
$ docker search imageName/ID

#获取Docker Hub上的镜像
$ docker pull ImageName/ID

#显示本地主机上的镜像列表
$ docker images 

#运行本地主机上的镜像
$ docker run ImageName/ID

#列出正在运行的容器
$ docker ps 

#查看正在运行容器的网络端口映射情况
$ docker port ContainerID 

#查看正在运行容器的内部正在进程运行
$ docker top ContainerID 

#查看正在运行容器的内部底层信息
$ docker inspect ContainerID 

#停止正在运行容器
$ docker stop ContainerID/ 

#重启已经停止的容器
$ docker start ContainerID 

#删除不需要的容器(必须在容器已经停止的情况下)
$ docker rm ContainerimageID

#移除本地镜像,移除前需要把该镜像下所有的容器删除
$ docker rmi ImageName/ID

#登录docker
$ docker login

#运行ubuntu:16.04镜像并创建容器和启动bash终端
$ docker run -t -i ubuntu:16.04 /bin/bash 

#重命名容器名
$ docker rename wonderful_kepler Ubuntu16.04 

#构建镜像
$ docker commit -m="has update" -a="SpiffyEight77" ff5d623e2d61 spiffyeight77/ubuntu:16.04

#提交镜像到docker hub 需要登录
$ docker push spiffyeight77/ubuntu 

部分参数说明 -d: 守护模式 后台运行 -p: 是容器内部端口绑定到指定的主机端口 -P: 是容器内部端口随机映射到主机的高端口 -f : 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出 -l : 查询最后一次创建的容器 -t : 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上 -i : 则让容器的标准输入保持打开 -m:提交的描述信息 -a: 指定镜像作者 --rm: 停止容器后移除容器 ff5d623e2d61: 容器ID spiffyeight77/ubuntu:16.04: 指定要创建的目标镜像名

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 查看运行容器
  • 2. 查看所有容器
  • 3. 进入容器
  • 4.停用全部运行中的容器:
  • 5.删除全部容器:
  • 6.一条命令实现停用并删除容器:
  • 7. 搜索可以使用的镜像
  • 8. 下载安装镜像
  • 9. 启动镜像容器
  • 10.查看镜像
  • 11.删除镜像
  • 12.删除并停止所有的容器
  • 13.列出所有的容器 ID
  • 14.停止所有的容器
  • 15.删除所有的容器
  • 16.删除所有的镜像
  • 17.复制文件
  • 18.运行Dockerfile文件
  • 19.运行新创建的容器
  • 20. 保存容器到镜像
  • 21. 发布镜像
    • 22.常用的docker命令
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档