侧边栏壁纸
博主头像
口鸟人 博主等级

言念君子 . 温其如玉

  • 累计撰写 39 篇文章
  • 累计创建 16 个标签
  • 累计收到 14 条评论

目 录CONTENT

文章目录

Docker入门

koniaoer
2024-05-23 / 0 评论 / 0 点赞 / 81 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-05-28,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一.安装与配置

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条日志


0

评论区