容器(第一篇)docker安装、基础操作命令

docker是什么?

docker是一个go语言开发的应用容器引擎。

docker的作用?

①运行容器里的应用;

②docker是用来管理容器和镜像的一种工具。


容器 与 虚拟机 的区别?

容器                             虚拟机
所有容器共享宿主机内核           每个虚拟机都有独立的操作系统和内核
使用namespace隔离资源,使用cgroup限制资源的最大使用量完全隔离,每个虚拟机都有独立的硬件资源
秒级启动速度分钟级启动速度
容器相当于宿主机的进程,性能几乎没有损耗需要hypervisor虚拟机管理程序对主机资源虚拟访问,至少有20~50%资源损耗
一台主机能够支持成千上百个容器一台主机只能支持最多几十台虚拟机

docker三个核心概念:

镜像
镜像是创建容器的基础,就是一个只读的模板文件,里面包括容器里的应用程序所需要的所有内容(包括程序代码文件,配置文件,运行环境,库文件等);

容器
容器就是用镜像运行的实例,容器可以被创建、启动、停止、删除,每个容器默认是相互资源隔离的;

仓库
仓库就是用来保存镜像的地方,有公有仓库和私有仓库。

docker的安装过程:

①tar zxvf docker-19.03.9.tgz
mv docker/* /usr/bin

②cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF
③安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 

设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service

docker镜像操作命令:

搜索镜像:docker search 镜像关键词

拉取镜像:docker pull  镜像        #如不指定标签则使用 :latest 做默认标签

查看镜像有哪些:docker images

 修改标签:docker tag 旧镜像名:标签   新镜像名:标签

删除镜像:docker rmi 镜像名:标签

 查看镜像详细信息:docker inspect 镜像名:标签

导出镜像: save   -o  镜像文件  镜像名:标签  

 导入镜像:   load   -i   镜像文件

 登录docker仓库:login     #默认登录公有仓库

 镜像加速:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://8flt2wqi.mirror.aliyuncs.com"] } EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

上传镜像:push  仓库/镜像名:标签

docker容器操作命令:

创建容器:docker create  [--name 容器名]  -it  镜像:标签

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

查看容器:docker ps [-a]  [-q]

停止容器:docker stop 容器名/容器ID    #kill -15

杀死容器:docker kill    容器名/容器ID     #kill -9  启动状态下才可以

删除容器:rm 容器名/容器ID        docker rm $(docker ps -a -q)  批量删除非运行中的容器

创建并运行容器:docker run -itd  [--name 容器名] [--rm] 镜像:标签  [启动容器的命令]

-i 选项表示让容器的输入保持打开;
-t 选项表示让 Docker 分配一个伪终端;

--rm:如果停止这个容器就删除。

docker run 来创建容器时, Docker 在后台的标准运行过程是:
(1)检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;
(2)利用镜像创建并启动一个容器;
(3)分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;
(4)从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;
(5)分配一个地址池中的 IP 地址给容器;
(6)执行用户指定的应用程序,执行完毕后容器被终止运行。

查看容器的详细信息:docker inspect 容器名/容器ID

进入容器:docker exec -it  容器名/容器ID  bash/sh

复制容器内容到宿主机:cp  容器ID:文件绝对路径   宿主机目录/文件

复制宿主机内容到容器:cp 宿主机目录/文件  容器ID:文件绝对路径

容器导出:docker export 容器ID/名称 > 文件名
docker export 2592d3fad0fb > centos7.tar

docker export -o centos7.tar 2592d3fad0fb

容器导入:cat 文件名 | docker import – 镜像名称:标签
cat centos7.tar | docker import - centos7:test            #导入后会生成镜像,但不会创建容器

docker import centos7.tar -- centos7:test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值