Docker实用笔记

教程 · 2023-08-15 · 209 人浏览

环境初始化(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}}"
Docker
Theme Jasmine by Kent Liao