Docker相关基础命令记录

1.1 架构:

镜像(Image):相当于一个root文件系统。

容器(Container):镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):保存镜像。

Docker容器通过Docker镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。(容器:对象,镜像:类)

 

1.2安装:

使用官方安装脚本自动安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

设置仓库:

阿里云

$ sudo yum-config-manager \

 --add-repo \

    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

1.3 基本常用命令:

安装依赖包:yum install -y epel-release

安装docker:yum install -y docker -io

或者 curl -sSL https://get.daocloud.io/docker | sh (一键安装)

docker 帮助命令:docker info 或者docker version //查看版本等相关信息

镜像命令:docker images //列出本地主机上的镜像

-a 列出所有的镜像

-q 只显示镜像ID

--digests 显示镜像的摘要信息

--no-trunc 显示镜像的完整信息

docker search [选项] 镜像名 //镜像查找

--no-trunc 显示镜像的完整信息

-S 列出收藏数不小于指定值的镜像 //可能版本有差异,新版本无此参数

docker pull 镜像名:版本号 //下载镜像,不写版本号就默认下载最新版

dcoker rmi 镜像名/id //删除镜像

-f 强制删除

举例:

删除单个镜像:docker rmi -f 镜像ID

删除多个镜像:docker rmi -f 镜像名1 镜像名2 //镜像名之间用空格隔开

删除全部镜像:docker rmi -f $(docker images -qa) //有容器运行中的镜像删除不了,需要停止容器才能删除。

 

容器命令:

docker pull centos //有镜像才能创建容器,先拉取镜像

docker run [option] images [command].... //新建并启动容器

option:

--name //为容器指定一个名称

-d //后台运行容器并返回容器ID(即启动守护容器)

-i // 以交互模式运行容器,通常与-t同时使用

-t //为容器重新分配一个伪输入终端

-P //随机端口映射

-p //指定端口映射

ip:hostport:container port

ip::container port

hsotport:container port

container port

 

docker ps [opstion] //宿主机上运行,列出当前正在运行的所有容器

-a //列出当前所有正在运行的容器,包括历史上运行过的

-l //显示最近创建的容器

-n // 显示最近创建的n个容器

-q //静默模式,只显示容器编号

--no-trunc //不截断的输出

 

exit //容器停止退出

Ctrl+P+Q //不停止退出 ,使用docker attach 容器ID重新进入

docker start 容器ID/容器名 //启动容器

docker restart 容器ID/容器名 //重启容器

docker stop 容器ID/容器名 //停止容器 ,强制停止用Kill

docker rm 容器ID

-f 强制删除

举例:docker rm -f $(docker ps -a -q) 或 docker ps -a -q | xargs docker rm

docker run -d 容器名 //启动后docker ps 查不到,进程会自动被杀掉,这是机制,除 非有应用在运行。

docker logs -f -t --tail 容器ID //查看容器日志, -t 加入时间戳,-f 跟随最新的日志打 印,--tail 数字,显示最后多少条

docker top 容器ID //查看容器内运行的进程

docker inspect 容器ID //查看容器内部细节

docker attach 容器ID // Ctrl+P+Q后进入正在运行的容器并以命令行交互,守护进程勇该命令会卡住,需要用exec -it,如下

docker exec 容器ID ls -l /root //在宿主机上对容器进行操作 ,不用进到容器(在容器中打开新的终端,并且启动新的进程)

例:docker exec -it 容器ID /bin.bash //加上-it 会等容器内的操作执行完毕,而bash 是打开容器内的一个终端近程,又因为it的等待 所以就会一直以终端连接的方式停留在容器内部。

docker cp 容器ID : 容器内路径 目的主机路径 //从容器内拷贝文件到主机上

例:docker cp 容器ID: /root/zhuli.txt /root/AA.txt //从容器的/root目录下拷贝zhuli.txt 到 宿主机的/root下并重命名为AA.txt

 

-----学习记录,有误的地方辛苦帮忙指正,涉及侵权的话烦请联系删除,谢谢!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值