docker环境搭建及其安装常用软件

centos安装docker

Install Docker Engine on CentOS | Docker Docs

下载docker

复制代码
sudo yum install -y yum-utils

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动

复制代码
sudo systemctl start docker

开机启动

复制代码
sudo systemctl enable docker

修改iptables(重要!!!)

复制代码
vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改为:
ExecStart=/usr/bin/dockerd -H fd:// --iptables=false --containerd=/run/containerd/containerd.sock

systemctl stop firewalld

systemctl start firewalld

systemctl daemon-reload

systemctl restart docker

官方镜像地址:

Dockerhttps://hub.docker.com/_/redis

1)解压tar.gz

复制代码
tar -xzvf xx.tar.gz

2)防火墙

放行

复制代码
firewall-cmd --zone=public --add-port=6379/tcp --permanent

查看端口是否放行

复制代码
firewall-cmd --zone=public --query-port=6379/tcp

重载防火墙

复制代码
firewall-cmd --reload

3)进入容器内部 // 这个id是docker ps得到的id

复制代码
docker exec -it f774a1170aae /bin/bash

接着我们查看容器内部redis的配置

复制代码
root@f774a1170aae:/data# cd /etc/redis/





root@f774a1170aae:/etc/redis# ls
redis.conf




root@f774a1170aae:/etc/redis# cat redis.conf
bind 0.0.0.0
protected-mode no
appendonly yes





之所以之前是这个路径,是因为我们启动redis时指定的:
docker run --name myredis -p 6379:6379 -v /data/redis/data:/data -v /data/redis/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

执行容器内部的redis-cli

复制代码
docker exec -it 7a1b2bf640b9 redis-cli

4)查看启动日志

复制代码
sudo docker logs myredis

5)删除镜像

复制代码
docker image rm redis

6)运行redis和nginx 必须用 host网络才行,实验了几天得出这个参数!!!(技巧:再-d后直接加网络参数)

复制代码
sudo docker run -p 6379:6379 --name myredis -v /data/redis/redis.conf:/etc/redis/redis.conf  -v /data/redis/data:/data -d  --net=host redis:6.0.20 redis-server /etc/redis/redis.conf --appendonly yes

docker run -d --net="host" -p 80:80 --name mynginx nginx

7)查看启动着的软件

复制代码
启动着的
docker ps 


包含没有启动的
docker ps -a

暂停然后重启
docker stop myredis
docker start myredis

8)docker重启后,镜像也跟着启动

复制代码
// 设置redis会跟着docker一块重启
docker update --restart=always myredis

// 重启docker
sudo systemctl restart docker

// 查看docker内进程,发现所有的进程都还在
docker ps -a
相关推荐
zhangfeng11333 分钟前
多台服务器同时训练llamfactory 大语言模型 国家超算中心 Slurm 是目前全球最主流的开源、高性能计算(HPC)集群资源管理与作业调度系统
服务器·语言模型·开源
不会写DN1 小时前
其实跨域问题是后端来解决的? CORS
服务器·网络·面试·go
Harvy_没救了1 小时前
【网络架构】Keepalived + LVS(DR) + MariaDB 双主备实践
网络·架构·lvs
爱学习的小囧7 小时前
ESXi 8.0 原生支持 NVMe 固态硬盘吗?VMD 配置详解教程
linux·运维·服务器·esxi·esxi8.0
大鹏说大话7 小时前
SSL证书自动化的未来:ACME协议与Let’s Encrypt实践
网络·安全
坚持就完事了7 小时前
Linux中的变量
linux·运维·服务器
handler017 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
Cat_Rocky7 小时前
利用Packet Tracer网络实验
linux·运维·服务器
被摘下的星星7 小时前
网际协议(IP协议)
网络·tcp/ip
嵌入式×边缘AI:打怪升级日志8 小时前
Linux 驱动实战:SR501 人体红外传感器驱动开发与调试全记录
linux·运维·驱动开发