共计 2310 个字符,预计需要花费 6 分钟才能阅读完成。
环境初始化 (CentOS)
## 安装 wget,参数 - y 会自动选择 y,全自动
yum -y install wget
## 下载阿里云源,- O 选项以其他名称保存下载的文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 基础仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo # 额外仓库
## 清空本地缓存
yum clean all
## 生成新的缓存
yum makecache
## 清空现有规则来暂时停止防火墙 (警告:这只适合在没有配置防火墙的环境中,如果已经配置过默认规则为 deny 的环境,此步骤将使系统的所有网络访问中断)
iptables -F
## 查看是否开启了 SELinux,确保是 disabled 的状态
getenforce
## 临时关闭 SELinux
setenforce 0
## 永久关闭 SELinux,SELINUX=enforcing 改为 SELINUX=disabled 即可
vi /etc/selinux/config
## reboot 使配置生效
reboot
## 关闭防火墙,开机自动关闭
systemctl disable firewalld
## 关闭防火墙
systemctl stop firewalld
安装 Docker
开启 Linux 内核的流量转发
## 内核版本不能低于 3.10
uname -r
## 查看发行版本
cat /etc/redhat-release
## 开启 Linux 内核的流量转发
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward = 1
EOF
## 加载修改内核的参数,配置文件
modprobe br_netfilter # 加载 br_netfilter 模块
sysctl -p /etc/sysctl.d/docker.conf # 重新加载内核
利用 yum 快速安装 docker
## 下载阿里源 repo 文件
wget -O /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
## 更新 yum 缓存
yum clean all && yum makecache
## 查看源中可用版本
yum list docker-ce --showduplicates | sort -r
## yum 安装 docker
yum install docker-ce-20.10.9 -y
## 卸载
yum remove docker-ce-20.10.9 -y
配置 Docker 加速器
mkdir -p /etc/docker
vi /etc/docker/daemon.json
写入如下内容:
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"]}
systemctl daemon-reload
## 开机启动 docker
systemctl enable docker
## 重新启动 docker
systemctl restart docker
## 查看版本,验证 docker 是否正确启动
docker version
## 查看 docker 信息
docker info
## docker 数据存放路径
docker info | grep Root
Docker 用法
## 查看本地镜像有哪些
docker images
## 删除镜像
docker rmi 镜像 id
## 搜索镜像文件
docker search nginx
## 拉取下载镜像,默认是 latest 版本
docker pull nginx
## 运行镜像,- d 后台运行容器,-p 80:80 端口映射 (宿主机端口: 容器内端口)
docker run -d -p 80:80 nginx
## 查看容器是否在运行
docker ps
## 停止容器
docker stop 容器 id
## 启动容器
docker start 容器 id
## 查看 ip 信息
ip a
## yum install net-tools -y
## 显示网络相关信息
netstat -tunlp
用 Docker 使用各种操作系统
使用 docker 来切换不同的发行版,内核使用的都是宿主机的内核。
## 获取 ubuntu 镜像
docker pull ubuntu
## 运行容器且进入容器内,- i 交互式命令操作,- t 开启一个终端
## bash 进入容器后,执行的命令
docker run -it ubuntu bash
## --rm 容器退出时删除该容器
docker run -it --rm ubuntu bash
## 查看容器内的发行版本
cat /etc/lsb-release
## 退出容器
exit
## 进入到正在运行的容器内
docker exec -it 容器 id bash
查看镜像
## 查看具体的镜像
docker images nginx
## 可以指定具体 tag
docker images nginx:latest
## 只列出镜像 id,--quiet
docker images -q
## 格式化显示镜像
docker images --format "{{.ID}} -- {{.Repository}}"
## 以表格形式显示
docker images --format "table {{.ID}} t {{.Repository}}"
正文完