docker
1.说明
linux内核要求3.0以上
查看命令:uname -r
2.安装
# 开启路由转发,docker是通过虚拟交换机来进行通讯的,需要开启路由转发的功能
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 让配置生效
sysctl -p
# 直接yum源安装
yum -y install docker-ce
# 开机自启
systemctl enable --now docker
# 查看
docker version
3.镜像管理
官方镜像仓库:https://hub.docker.com
# 查看本地镜像
docker images
# 查找镜像
docker search rockylinux
# 导出镜像
docker save rockylinux:8.5 -o rockylinux.tar
# 导出镜像
docker load -i rockylinux.tar
# 删除镜像
docker rmi rockylinux:8.5
# 下载镜像
docker pull rockylinux:8.5
# 上传镜像
docker push rockylinux:8.5
# 查看镜像制作历史
docker history rocklinux:8.5
# 查看镜像的信息
docker inspect rockylinux:8.5
# 镜像新名词和标签
docker tag rocklinux:8.5 nsd:linux
4.容器管理
# 查看运行的容器
docker ps
# 查看创建的所有的容器(运行的和已经停止的)
docker ps -a
# 查看运行中容器的ID值
docker ps -q
# 查看所有容器的id,用于脚本对容器的管理
docker ps -aq
# 删除容器
docker rm id
# 删除全部容器
docker rm -f $(docker ps -aq)
# 容器管理命令启动、停止、重启
docker start 容器id
docker stop 容器id
docker restart 容器id
# 运行容器
docker run -itd rockylinux:8.5
# 查看容器信息
docker inspect b6d8689f0ff0
# 进入容器
docker exec -it a561b46a7ef7 /bin/bash
# 进入容器 Ctrl + p+ q 退出容器,容器不会停止
docker attach 69f7753eb1e8
5.自定义镜像
# 启动一个镜像,修改
docker run -it rockylinux:8.5
cd /etc/yum.repos.d/
rm -rf *
docker cp /etc/yum.repos.d/Rocky-AppStream.repo f3948a4e09f0:/etc/yum.repos.d/Rocky-AppStream.repo # 修改yum源
yum -y install net-tools psmisc iproute vim bash-completion procps-ng
yum clean all
exit
# 提交容器,生成新镜像
docker commit id image:yum
6.Dockerfile生成镜像
Dockerfile文件如下
# FROM:基础镜像
FROM image:yum
# RUN:制作镜像时执行的命令,可以有多个
RUN yum -y install httpd && yum clean all
# ADD:复制文件到镜像,自动解压 (文件类型为: tar.gz 或 tar.bz2)
ADD website.tar.gz /var/www/html/
# COPY:复制文件到镜像,不解压
# ENV:设置变量
ENV LANG=C
# EXPOSE:开放的端口
EXPOSE 80
# WORKDIR:定义容器默认工作目录(等于cd)
WORKDIR /var/www/html
# CMD: 容器启动时执行的命令,仅可以有一条CMD
CMD ["/usr/sbin/httpd","-DFOREGROUND"]
在Dockerfile文件所在目录创建镜像
docker build -t image:httpd