docker常用命令

docker

  • 官网 https://www.docker.com/get-started/
  • Docker 从入门到实践 https://yeasy.gitbook.io/docker_practice/

docker的生命周期

  • 镜像:Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含任何动态数据,其内容在构建之后也不会被改变。
  • 容器:容器是镜像运行时的实体, 容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。按照 Docker最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用 数据卷(Volume)、或者 绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。
  • 仓库:镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。
    一个 Docker Registry 中可以包含多个 仓库(Repository);每个仓库可以包含多个 标签(Tag);每个标签对应一个镜像。

常用命令

查看docker信息

docker info

从docker镜像仓库获取镜像

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

搜索镜像

docker search [ImageName]

查看镜像列表

docker images 

用Dockerfile构建镜像

docker build -t [Docker Registry 地址[:端口号]/]仓库名[:标签] Dockerfile_path 
    使用Dockerfile_path下的Dockerfile文件

docker build -t [Docker Registry 地址[:端口号]/]仓库名[:标签] -f Dockerfile_path/custom_Dockerfile
    使用指定文件构建
    
docker build --help 可以看到完整的参数选项

将镜像推送至仓库

docker push [Docker Registry 地址[:端口号]/]仓库名[:标签]

停用镜像

docker stop ImageID

重启镜像

docker start imageID

重命名镜像

docker tag imageID imageREPOSITORY:imageTAG

删除镜像

docker rmi imageID

删除所有镜像

docker rmi $(docker images -q)

通过镜像运行容器

docker run -it ubuntu:18.04 bash        
    以ubuntu:18.04镜像运行容器,并进入容器内shell
    
docker run -it -d -p 50000:5000 --env-file /Users/custom.env imageID /bin/bash /tmp/run.sh 
    -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
    -i 则让容器的标准输入保持打开
    -d 让 Docker 在后台运行
    --env-file 将文件/Users/custom.env作为容器内的环境变量-p将容器内端口5000暴露出来映射为50000端口
    容器内启用命令/bin/bash /tmp/run.sh

docker run --help 可以查看所有参数

查看容器

docker ps 
docker ps -a 查看所有容器,包括启动失败的
docker container ls -a

启动、重启容器

docker container start [container ID or NAMES]
docker container restart [container ID or NAMES]

获取容器的输出信息

docker container logs [container ID or NAMES]

重命名容器

docker rename [container ID] imageREPOSITORY:imageTAG

停止容器

docker stop 容器Name

删除所有未启动容器

docker container prune

删除容器

docker container rm [container ID]

删除所有容器

docker rm $(docker ps -aq)

镜像导入导出

镜像导出-将镜像打包成文件
docker save -o 文件名.tar [Docker Registry 地址[:端口号]/]仓库名[:标签]
docker save [镜像id] > [文件名.tar]

镜像导入-解压镜像文件到本地
docker load < 文件名.tar

从一个机器将镜像迁移到另一个机器,并且带进度条的功能
docker save <镜像名> | bzip2 | pv | ssh <用户名>@<主机名> 'cat | docker load'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值