Docker实用笔记

27次阅读
没有评论

共计 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}}"

正文完
post-qrcode
 0
三毛
版权声明:本站原创文章,由 三毛 于2023-08-15发表,共计2310字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)