1.docker容器环境安装

容器常用选项

一、容器介绍

1、容器是什么?

轻量级虚拟化技术

应用场景:

1、快速构建业务环境

2、便于业务迁移,避免兼容性问题

2、与传统虚拟化区别

创建速度快, 秒级

无虚拟硬件

共享物理机内核、IO速度快

3、容器的三要素

容器、镜像、仓库

4、容器核心技术

  • namespace技术 命名空间

    实现资源(文件目录、用户、端口、进程)隔离

  • cgroup技术

    实现容器的资源限制(cpu、内存)

5、容器管理工具/软件

  • docker
    docker-ce、docker-ee
  • podman
  • containerd

二、安装docker

1、配置docker软件仓库

bash 复制代码
[root@martin-host ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

[root@martin-host ~]# cat /etc/yum.repos.d/docker-ce.repo
[docker-ce]
name=docker-ce
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/
enabled=1
gpgcheck=0

2、安装docker, 启动docker服务

bash 复制代码
[root@martin-host ~]# yum install -y docker-ce 

[root@martin-host ~]# rpm -q docker-ce
docker-ce-26.1.4-1.el7.x86_64

[root@martin-host ~]# systemctl enable --now docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@martin-host ~]# 

3、配置国内docker镜像仓库

bash 复制代码
[root@martin-host ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://rywdmoco.mirror.aliyuncs.com"]
}
[root@martin-host ~]# 
[root@martin-host ~]# systemctl restart docker

4、主机网络变化

bash 复制代码
// docker0虚拟网卡,默认作为所有容器的网关使用
[root@martin-host ~]# ip addr show docker0
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:81:00:b2:4b brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

// 路由转发
[root@martin-host ~]# cat /proc/sys/net/ipv4/ip_forward
1

// docker网段的SNAT规则
[root@martin-host ~]# iptables -t nat -nL 
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  172.17.0.0/16        0.0.0.0/0           

Chain DOCKER (2 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0       

三、镜像基础操作

1、查看镜像

bash 复制代码
[root@martin-host ~]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
httpd        latest    dabbfbe0c57b   2 years ago   144MB
nginx        1.18      c2c45d506085   3 years ago   133MB

2、搜索镜像

bash 复制代码
[root@martin-host ~]# docker search 关键字

3、下载镜像

bash 复制代码
[root@martin-host ~]# docker pull 镜像名称:标记

4、导入镜像

bash 复制代码
[root@martin-host ~]# docker load -i centos7.tar 
174f56854903: Loading layer [==================================================>]  211.7MB/211.7MB
Loaded image: centos:7

5、导出镜像

bash 复制代码
[root@martin-host ~]# docker save -o tomcat.tar tomcat:latest 
相关推荐
wuxingge7 小时前
k8s1.30.0高可用集群部署
云原生·容器·kubernetes
志凌海纳SmartX8 小时前
趋势洞察|AI 能否带动裸金属 K8s 强势崛起?
云原生·容器·kubernetes
锅总8 小时前
nacos与k8s service健康检查详解
云原生·容器·kubernetes
BUG弄潮儿8 小时前
k8s 集群安装
云原生·容器·kubernetes
意疏8 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
墨鸦_Cormorant9 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
Code_Artist9 小时前
Docker镜像加速解决方案:配置HTTP代理,让Docker学会科学上网!
docker·云原生·容器
颜淡慕潇10 小时前
【K8S系列】kubectl describe pod显示ImagePullBackOff,如何进一步排查?
后端·云原生·容器·kubernetes
wanmei00210 小时前
Dockerfile复制目录进入镜像里
docker
inter_peng10 小时前
[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法
tcp/ip·docker·eureka