Docker | 超全的环境配置教程,以及问题解决

简介: Docker | 超全的环境配置教程,以及问题解决

环境准备


文档非常用心🌹

我的服务器是 centos 7 环境

如果CentOS系统内核低于3.10,可以升级软件包及内核,通过 yum update 升级

Linux系统分为两种:

  1. RedHat系列:Redhat、Centos、Fedora等
  2. Debian系列:Debian、Ubuntu等

RedHat系列的包管理工具是yum

Debian系列的包管理工具是apt-get

  1. 查看系统版本:
cat /proc/version
Linux version 3.10.0-1062.1.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Mon Sep 30 14:19:46 UTC 2019

我的系统是Red hat, 所以使用的包管理工具是yum

  1. 查看系统内核
uname -r // 查看系统内核
3.10.0-1062.1.2.el7.x86_64
  1. 查看系统配置
cat /etc/os-release // 查看系统配置
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

image.png

文档传送门:docs.docker.com/engine/inst…


安装并运行一个hello-world


步骤


1、卸载旧版本


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


2、需要的安装包


yum install -y yum-utils


3、设置镜像仓库


yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo // 默认是国外的
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //  阿里云镜像地址    


4、更新yum软件包索引


yum makecache fast


5、安装docker相关的内容


  • docker-ce 社区版
  • ee 企业版


yum install docker-ce docker-ce-cli containerd.io


6、配置阿里云镜像加速


登录阿里云,找到容器镜像服务,找到自己的镜像加速器

image.png

配置步骤如下👇

# 1 
sudo mkdir -p /etc/docker
# 2 编写配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF
# 3 重新加载配置
sudo systemctl daemon-reload
# 4 启动
sudo systemctl restart docker


7、重新加载配置文件


systemctl daemon-reload


8、启动


systemctl start docker


9、查看是否启动成功


docker version

image.png


10、hello-world


1.直接运行run命令

docker run hello-worl

image.png

  1. run命令工作流程图解

image.png


11、查看下载的hello-world镜像


docker images

image.png


卸载docker


# 1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2. 删除目录
rm -rf /var/lib/docker
rm -rf /var/lib/containerd


问题汇总


docker 启动报错


Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

修改/usr/lib/systemd/system/docker.service

image.png

  • 错误原因:

dockersocket配置出现了冲突,docker在运行时的启动入口文件为:/lib/systemd/system/docker.service,我们在配置镜像加速之后又添加了一个守护进程文件:/etc/docker/daemon.json,两个文件对host进行了配置,发生冲突。

  • 查看报错详情 journalctl -xe

image.png

failed to start daemon: error initializing graphdriver: /var/lib/docker contains several valid graphdrivers: devicemapper, o

  • 解决办法:

修改 /etc/docker/daemon.json

增加:

"storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
 ]

image.png


常用命令


  1. 查看版本 docker -v
  2. 设置服务器开机启动
systemctl enable docker
  1. 停止docker
systemctl stop docker
  1. systemctl 方式
# 守护进程重启
sudo systemctl daemon-reload
# 重启docker服务
sudo systemctl restart docker
# 关闭docker
sudo systemctl stop docker


目录
相关文章
|
4天前
|
关系型数据库 MySQL Java
Docker Compose详细教程(从入门到放弃)
Docker Compose详细教程(从入门到放弃)
246 0
|
4天前
|
Oracle 关系型数据库 数据库
|
4天前
|
关系型数据库 MySQL 数据库
百度搜索:蓝易云【【Docker】Docker部署Mysql并设置数据持久化教程】
通过以上步骤,您已经成功地在Docker中部署了MySQL,并设置了数据持久化,确保数据在容器重新启动或迁移时得以保留。
54 0
|
4天前
|
安全 应用服务中间件 nginx
百度搜索:蓝易云【使用Debian、Docker和Nginx部署Web应用教程】
这些是在Debian上使用Docker和Nginx部署Web应用的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
49 0
|
4天前
|
大数据 数据管理 Docker
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
296 0
|
3天前
|
存储 JSON 安全
Docker 的 overlay2 扩容教程
Docker 的 overlay2 扩容教程
24 3
|
4天前
|
Docker 容器
stable_diffusion_webui docker环境配置
请注意,上述步骤提供了一个基本的配置示例。根据你的实际需求和环境,你可能需要进一步配置Docker容器、网络设置和安全性设置。确保遵循Docker最佳实践来保护你的容器和应用程序。
11 1
|
4天前
|
关系型数据库 MySQL 数据库
docker 安装mysql(踩坑踩得想哭 详细解决教程)ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using pa
docker 安装mysql(踩坑踩得想哭 详细解决教程)ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using pa
35 1
|
4天前
|
Ubuntu Docker 索引
ubuntu 20.04 安装docker教程和安装中遇到的问题解决方案(超详细 附加图文教程)
ubuntu 20.04 安装docker教程和安装中遇到的问题解决方案(超详细 附加图文教程)
55 0
|
4天前
|
Linux Docker 容器
阿里云安装docker教程
阿里云安装docker教程
72 0