本篇文章介绍在 centos 上安装 docker。docker 目前支持 centos7, 要求内核不低于 3.10

# 一、保姆级安装教程

# 1、卸载之前安装的 docker

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

# 2、配置 yum 工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

# 3、更新本地镜像源

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast

# 4、安装 docker

yum install -y docker-ce

# 5、启动 docker

docker 需要用到各种端口,为了方便学习,我直接把防火墙关了,并且不让开机自启。

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

启动 docker

systemctl start docker  # 启动docker服务
systemctl stop docker  # 停止docker服务
systemctl restart docker  # 重启docker服务

查看是否启动成功

docker -v

image.png 显示如下内容即表示安装成功。

# 6、配置镜像加速器

docker 官方镜像仓库网速较差,我们需要设置国内镜像服务:这玩意不是我能教的,你得看官网。参考阿里云的镜像加速文档:image.png 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

配置 mysql:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=wyr0307 -p 13306:3306 -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -v /tmp/mysql/data:/var/lib/mysql	--restart=always -d mysql

配置 redis 命令:

docker run --name redis -p 6379:6379 -d redis redis-server --requirepass wyr0307
docker run -p 6379:6379 --privileged=true --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d docker.io/redis:6.0 redis-server /etc/redis/redis.conf --appendonly yes

配置 nacos 命令

docker run -d --name nacos  -p 8848:8848  -p 9848:9848 -p 9849:9849 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /tmp/nacos/conf/conf:/home/nacos/conf -v /tmp/nacos/logs:/home/nacos/logs --restart=always nacos/nacos-server:v2.1.0

配置 rabbitMq 命令

docker run -e RABBITMQ_DEFAULT_USER=lyggwsp -e RABBITMQ_DEFAULT_PASS=wyr0307 --name mq --hostname mq1 -p 15672:15672  -p 5672:5672 -d rabbitmq:3-management

配置 minio 命令

# 二、Docker 的基本操作

# 镜像相关命令

镜像名称一般分两部分组成:[repository]:[tag]。在没有指定 tag 时,默认是 latest,代表最新版本的镜像image.png 相关操作:image.png 使用如下网址可查看需要什么镜像。Docker 查看命名: docker XX --help 拉取镜像:docker pull nginx 移除镜像:docker rmi 查看拉取到的镜像:docker images 导出镜像到磁盘 :docker save 加载镜像:docker load

docker 容器相关命令:image.png 创建运行一个 nginx 容器步骤一:去 docker hub 查看 nginx 的容器运行命名 docker run --name containerName -p 80:80 -d nginx 参数解读:docker run : 创建并允许一个容器–name : 给容器起的名字 - p:将宿主主机端口与容器端口映射,冒号左面是宿主主机端口,右侧是容器端口 - d: 后台允许 nginx : 镜像名称,例如 nginximage.pngdocker run 命令的常见参数有哪些?–name:指定容器名称 - p:指定端口映射 - d:让容器后台运行查看容器日志的命令:docker logs 添加 -f 参数可以持续查看日志查看容器状态:docker ps

如何进入 docker 容器内部来修改指定的操作?步骤一、进入容器,进入我们创建的 nginx 容器的命令为 docker exec -it mynginx bash 命令解读:docker exec : 进入容器内部,执行一个命令 - it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器进行交互 mn : 要进入的容器的名称 bash : 进入容器后执行的命令,bash 是一个 linux 终端交互命令步骤二、查看官网,查找文件存放的位置来进行指定的操作。

# 查看容器状态:

docker ps 添加 - a 参数查看所有状态的容器

# 删除容器:

docker rm 不能删除运行中的容器,除非添加 -f 参数

# 进入容器:

命令是 docker exec -it [容器名] [要执行的命令] exec 命令可以进入容器修改文件,但是在容器内修改文件是不推荐的

退出容器:exit ctrl + p +q

docker 容器 redis 设置

启动 redis 命令:docker run --name myredis -p 6379:6379 -d redis --requirepass youpasswordimage.pngimage.png 进入容器 docker exec -it myredis bashimage.png 执行 redis-cli 命令客户端命令 redis-cli

认证密码:auth yourpasswordimage.png 即可进行正常在 redis 中的操作。可查看 redis 密码:config get requirepassimage.png 但是这样我们本机还是服务访问 docker 上的 redis 的,因为 redis 的配置文件中配置只有本地地址才能访问的,所以我们还需配置一波。在 docker 进行配置的 redis 会有些许麻烦:image.png 接下来,我们学习了数据卷之后再来配置一波 redis:

# 数据卷

数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。image.png

image.pngimage.pngimage.pngimage.png

有关 nacos 的配置,这篇文章讲的很详细:Docker 启动安装 nacos(详情讲解,全网最细)_docker 启动 nacos_Color L 的博客 - CSDN 博客

# 三、Dockerfile 自定义镜像

# 四、Docker-Compose

# 五、Docker 镜像仓库