一.安装与配置
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo #更新repo源
yum install -y docker-ce #安装
systemctl start docke #启动
docker -v #查看版本
docker compose version
docker pull hello-world #验证
docker run hello-world
cat /etc/redhat-release #查看Linux发行版本
二.开启Linux内核的流量转发
etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1 #这个设置允许IPv6包在桥接接口上被ip6tables处理。当Docker使用桥接网络时,这个设置可以确保IPv6的防火墙规则能够正确应用
net.bridge.bridge-nf-call-iptables = 1 #这个设置允许IPv4包在桥接接口上被iptables处理。这确保了IPv4的防火墙规则在Docker桥接网络上有效
net.ipv4.conf.default.rp_filter = 0 #rp_filter是一个反向路径过滤机制,用于防止IP地址欺骗。当设置为1时,它会检查每个进入的数据包,看其是否从最佳路径返回。但是,对于Docker等容器化技术,这可能会导致问题,因为它们可能使用不同的接口进行通信。设置为0会禁用这个检查
net.ipv4.ip_forward=1 #这个设置允许IP转发。在Docker中,这意味着容器可以通过主机进行网络通信,即使它们不在同一个网络段上
EOF
#读取该文件
sysctl -p /etc/sysctl.d/docker.conf
三.配置镜像加速器
#配置镜像加速器
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
systemctl daemon-reload #重启
四.使用
docker search 镜像名 #查看镜像库文件
docker pull nginx #拉取镜像库文件
NAME DESCRIPTION STARS OFFICIAL
nginx Official build of Nginx. 19857 [OK] #官方库
unit Official build of NGINX Unit: Universal Web … 29 [OK]
docker pull nginx #拉取镜像
docker images #查看本地镜像
docker rmi 镜像id #删除镜像
docker run 镜像id #启动镜像,返回一个容器的id
docker run -p 85:80 nginx #指定85端口
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 大写随机端口映射,容器内部端口随机映射到主机的端口
-p: 小写指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker port 镜像id #查看镜像端口
docker stop 镜像id #停止容器
#docker内切换Linux发行版本
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest e784f4560448 3 weeks ago 188MB
redhat/ubi9 latest 3b63310310b9 3 weeks ago 212MB
hello-world latest d2c94e258dcb 12 months ago 13.3kB
openjdk latest 71260f256d19 15 months ago 470MB
openjdk 11-jdk 47a932d998b7 22 months ago 654MB
java openjdk-8u111-jre-alpine fdc893b19a14 7 years ago 108MB
[root@localhost ~]# docker run -it 3b63310310b9 bash
[root@137c47587210 /]# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.4 (Plow)
docker exec -it 镜像id bash #进入docker运行的镜像
docker image save 镜像id #导出已经下载的镜像
docker image inspect 镜像id #查看镜像详细信息
docker info #查看docker服务的信息
docker ps #查看正在运行的镜像
docker ps -a #查看曾经运行的镜像(包括挂了的)
docker restart 镜像id #重启已经挂了的镜像
docker logs b578152567e2 |tail -5 #查看最新5条日志
评论区