Docker实战教程 第2章 Docker基础

3-1 Docker介绍

什么是Docker

  • 虚拟化,容器

  • Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

  • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

  • Docker的应用场景,Web 应用的自动化打包和发布

Docker中的概念

  • 容器
  • 镜像
  • 仓库

3-2 安装Docker

  • 清除老版本docker,确保机器上没有安装docker
bash 复制代码
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 安装docker
bash 复制代码
# 下载安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh

# 配置aliyun镜像
sudo sh get-docker.sh --mirror Aliyun


# 查看docker状态
systemctl status docker

# 启动docker
systemctl start docker

# 配置开启自启状态
systemctl enable docker

# 查看docker状态
systemctl restart docker
  • 卸载docker
bash 复制代码
sudo yum remove docker-ce docker-ce-cli containerd.io

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

3-3 仓库镜像容器的关系

容器镜像仓库的关系

  • 仓库:存放镜像的地方,分远程仓库(docker hub)和本地仓库
  • 镜像:文件,镜像存放在仓库,又镜像可以实例化出来容器
  • 容器:容器是真正干活的对象,就是一个进程;由容器也生成镜像

3-4 Hello World

hello world

  • 第一次使用docker,从helle world开始哈
bash 复制代码
docker run hello-world

镜像的完整写法:

bash 复制代码
完整写法:仓库地址/镜像名:版本号
简写: 仓库地址/镜像名

3-5 远程仓库Docker Hub

3-12 docker0网桥

容器内安装常用工具

bash 复制代码
apt-get update

# ifconfig
apt-get install -y net-tools

# ping
apt-get install -y iputils-ping

# ip
apt-get install -y iproute2
  • docker0网桥其实是nat桥
  • docker0网桥上的容器是在一个局域网内,同一个ip字段,通过ip可以互相访问
  • veth-pair设备一端在docker0网桥上,一端在容器内部。
相关推荐
搬砖的小码农_Sky27 分钟前
如何在Linux中比较两个文件的差异?
linux
来一杯龙舌兰1 小时前
【MongoDB】Windows/Docker 下载安装,MongoDB Compass的基本使用、NoSQL、MongoDB的基础概念及基础用法(超详细)
windows·mongodb·docker·mongodb compass
Syclus1 小时前
成功解决WSL2上的Ubuntu22.04执行sudo apt-get update指令报错问题
linux·运维·服务器
kaoa0001 小时前
Linux入门攻坚——36、Linux防火墙-iptables-2
linux·运维
筑梦之路2 小时前
k8s 处理namespace删除一直处于Terminating —— 筑梦之路
云原生·容器·kubernetes
小林熬夜学编程2 小时前
【Linux系统编程】第四十二弹---多线程编程全攻略:涵盖线程创建、异常处理、用途、进程对比及线程控制
linux·服务器·c语言·开发语言·c++
颜淡慕潇3 小时前
【K8S系列】Kubernetes 中 Service 的流量不均匀问题【已解决】
后端·云原生·容器·kubernetes
Linux运维老纪3 小时前
K8s资源对象监控之kube-state-metrics详解(Detailed Explanation of Kube State Metrics)
网络·安全·云原生·容器·kubernetes·云计算·运维开发
meeiuliuus3 小时前
【读书笔记/深入理解K8S】集群控制器
云原生·容器·kubernetes