当前位置:   article > 正文

Centos7系统 Docker 安装和使用教程(超详细附带常用的容器部署代码)_centos7 docker

centos7 docker

简介

Docker是一个开源的容器化平台,可帮助开发者轻松地创建、部署和运行应用程序。Docker使开发人员能够在一个独立的容器中打包应用程序及其依赖项,这样他们就可以轻松地将应用程序移植到任何其他环境中。

使用Docker的主要优势:

  1. 便于部署:由于Docker容器可以在任何支持Docker的平台上运行,因此应用程序可以轻松地在不同的环境中部署和运行。
  2. 隔离性:Docker容器提供了隔离的运行环境,使得应用程序可以在独立的环境中运行,从而避免了依赖冲突和其他问题。
  3. 可移植性:Docker容器可以轻松地从一个平台移植到另一个平台,从而使应用程序在不同的平台上运行变得更加容易。
  4. 安全性:Docker容器提供了安全性隔离,使得应用程序和它的依赖项可以在受保护的环境中运行,从而减少了潜在的安全风险。

官方安装文档

Docker 官方安装文档:https://docs.docker.com/install/linux/docker-ce/centos/

doker安装(Centos7服务器版本)

1、卸载系统之前可能安装的 docker(防止冲突)

卸载系统之前可能安装的 docker(防止版本不一致,发生冲突)

sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
2、安装 Docker-CE 基本环境

安装必须的依赖

sudo yum install -y yum-utils \ 
device-mapper-persistent-data \ 
lvm2
  • 1
  • 2
  • 3

设置 docker repo 的 yum 位置

sudo yum-config-manager \ 
--add-repo \ 
https://download.docker.com/linux/centos/docker-ce.repo 
  • 1
  • 2
  • 3

安装 docker,以及 docker-cli

sudo yum install docker-ce docker-ce-cli containerd.io
  • 1

这样就安装好docker基本环境了,接下来就可以启动docker

3、启动 docker
#启动docker
sudo systemctl start docker
#查看docker服务状态 running 就是启动成功
sudo systemctl status docker
  • 1
  • 2
  • 3
  • 4
4、设置 docker 开机自启
sudo systemctl enable docker
  • 1
5、测试 docker 常用命令

docker命令官方文档 https://docs.docker.com/engine/reference/commandline/docker/

Docker的常用命令:

#镜像命令
docker images:列出所有镜像
docker search [image]:搜索 Docker 镜像
docker pull [image]:拉取指定镜像
docker rmi [image]:删除指定镜像
#容器命令
docker ps:列出当前所有正在运行的容器
docker ps -a:列出所有容器,包括已经停止的容器
docker create [image]:创建一个新的容器,但不启动它
docker start [container]:启动一个容器
docker stop [container]:停止一个容器
docker rm [container]:删除一个容器
docker exec -it [container] [command]:在运行中的容器中执行命令
#其他命令
docker info:显示 Docker 系统信息
docker version:显示 Docker 版本信息
docker logs [container]:查看容器的日志
docker network ls:列出 Docker 网络
docker network create [network]:创建一个新的 Docker 网络
docker network connect [network] [container]:将容器连接到指定的 Docker 网络
docker network disconnect [network] [container]:将容器从指定的 Docker 网络中断开连接 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
6、配置 docker 镜像加速

配置 docker阿里云容器镜像服务镜像加速,可以使您的docker使用起来更流畅

注意:针对 Docker 客户端版本大于 1.10.0 的用户

您也可以直接通过修改daemon配置文件/etc/docker/daemon.json 来使用其他的加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docke
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

上述代码的意思是在本机创建/etc/docker目录,创建文件daemon.json,在其中输入一下代码,重启docker。

{ 
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
  • 1
  • 2
  • 3

Docker 容器化安装 Mysql 容器

MySQL 配置
创建挂载的目录
vi /mydata/mysql/conf/my.cnf
  • 1

输入以下配置文件

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
1、下载镜像文件,创建实例并启动

不多废话,直接上代码

docker pull mysql:5.7

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

参数说明

  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
  • -v /mydata/mysql/conf:/etc/mysql/conf.d:将配置文件夹挂载到主机
  • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
  • -v /mydata/mysql/data:/var/lib/mysql:将数据文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

注意:-v /mydata/mysql/conf:/etc/mysql/conf.d ,这段代码笔者在使用时遇到一些错误,挂载时需要加上conf.d,如果部署发生错误,尝试去除这段,换用以下部署代码

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
2、进入容器,修改权限

使用容器mysql命令行工具

docker exec -it mysql mysql -uroot -proot
  • 1

设置 root 远程访问

//设置远程root密码登录,与本地root密码登录不同
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
// 如需修改
//alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
  • 1
  • 2
  • 3
  • 4
  • 5

进入容器内部,查看配置文件是否挂载成功

docker exec -it mysql /bin/bash

cd /etc/mysql/conf.d
cat my.cnf
  • 1
  • 2
  • 3
  • 4

注意:挂载的配置文件要先创建才可以看到容器内部是否生效,即要先创建/mydata/mysql/confmy.cnf文件才能观察到内外配置信息。

Docker 容器化安装 Redis 容器

Redis 配置
创建挂载的目录
vi /mydata/redis/conf/redis.conf
  • 1

输入以下配置文件

# 暂无
#password= 123
  • 1
  • 2
1、下载镜像文件,创建实例并启动

不多废话,直接上代码

docker pull redis

docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data  \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参数说明

  • -p 6379:6379:将容器的 3306 端口映射到主机的 3306 端口
  • -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf:将配置文件夹挂载到主机
  • -v /mydata/redis/data:/data :将数据文件夹挂载到主机
2、进入容器
#重启redis
docker restart redis
#启动redis客户端
docker exec -it redis redis-cli
  • 1
  • 2
  • 3
  • 4

Docker 容器化安装 Nacos容器

mysql创建nacos的数据库

create database nacos_config

SQL 文件:db/nacos-db.sql · yeye/gmall - 码云 - 开源中国 (gitee.com)

Nacos配置
创建挂载的目录
mkdir -p /mydata/nacos/conf/             #新建nacos的logs目录
mkdir -p /mydata/nacos/logs/         
vim /mydata/nacos/conf/application.properties   #新建并修改nacos的配置文件
  • 1
  • 2
  • 3
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false

management.metrics.export.elastic.enabled=false

management.metrics.export.influx.enabled=false


server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i


nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

注意: 这里的配置需要把数据库链接配置一下。

db.num=1

db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=user

db.password=pass

修改为自己的数据库地址和账号密码

下载镜像文件,创建实例并启动

不多废话,直接上代码

docker pull nacos/nacos-server:1.1.4	
docker run -d \
--name nacos \
-p 8848:8848 \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
nacos/nacos-server

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

参数说明

  • -p 6379:6379:将容器的 3306 端口映射到主机的 3306 端口
  • /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties:将配置文件夹挂载到主机
  • -v /mydata/nacos/logs:/home/nacos/logs:将日志文件夹挂载到主机
进入容器
#重启redis
docker restart nacos
#进入容器
docker exec -it nacos bash
  • 1
  • 2
  • 3
  • 4
访问 Nacos

访问地址:http://x.x.x.x:8848/nacos (这里是服务器的ip地址)
账号密码:nacos / nacos

进去了就算成功

如果这篇【文章】有帮助到你,希望可以给笔者点个赞

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/327869
推荐阅读
相关标签