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 
相关推荐
deeper_wind1 小时前
K8S-资源对象(小白的“升级打怪”成长之路)
容器·kubernetes
岚天start1 小时前
K8S容器POD内存快照导出分析处理方案
云原生·容器·kubernetes·内存·快照·pod·内存快照
周小码13 小时前
Go开发的自行托管代理加速服务:支持Docker与GitHub加速
docker·golang·github
川石课堂软件测试13 小时前
Oracle 数据库使用事务确保数据的安全
数据库·python·功能测试·docker·oracle·单元测试·prometheus
奋斗的老史13 小时前
25年Docker镜像无法下载的四种对策
docker·容器·eureka
chillxiaohan13 小时前
Docker学习记录
学习·docker·容器
柯南二号14 小时前
【后端】Docker 常用命令详解
服务器·nginx·docker·容器
新鲜萝卜皮14 小时前
容器内运行的进程,在宿主机的top命令中可以显示吗?
容器
我今天指定是不行了16 小时前
Docker安装与部分应用安装
docker
容器魔方16 小时前
Karmada v1.15 版本发布!多模板工作负载资源感知能力增强
云原生·容器·云计算