中国石化工程建设有限公司官网,苏州网站关键词优化,二十条优化措施全文,明水县网站建设前言#xff1a;在部署hive或airflow 升级过程中#xff0c;总需要一个对应的数据库存储元数据#xff0c;一个轻量级的mysql容器刚刚好。轻量、可快速移植、具有隔离性。 文章目录 1、查看机器版本2、安装 docker3、启动docker 服务4、docker 常用命令docker5、拉取mysql …前言在部署hive或airflow 升级过程中总需要一个对应的数据库存储元数据一个轻量级的mysql容器刚刚好。轻量、可快速移植、具有隔离性。 文章目录 1、查看机器版本2、安装 docker3、启动docker 服务4、docker 常用命令docker5、拉取mysql 镜像6、启动 MySQL 容器7、远程连接测试 容器化mysql 1、查看机器版本
# redhat版cat /etc/redhat-release # redhat系列存在此文件
CentOS Linux release 7.9.2009 (Core)# Ubuntulsb_release -a2、安装 docker
#1. 有网yum install -y docker#2. 离线(tar包下载地址 https://download.docker.com/linux/static/stable/x86_64/)# 解压解压后生成 docker 文件夹tar -zxvf docker-23.0.6.tgz# 将解压后的命令全部加入到 $PATH 否则 start docker 会报错 因为dockerd 服务启动时会自动启动其他服务如containerdsudo ln -s /home/zyp/opt/docker/* /usr/bin# 注册系统服务sudo vim /etc/systemd/system/docker.service[Unit]DescriptionDocker Application Container EngineDocumentationhttps://docs.docker.comAfternetwork-online.target firewalld.serviceWantsnetwork-online.target[Service]Typenotify# the default is not to use systemd for cgroups because the delegate issues still# exists and systemd currently does not support the cgroup feature set required# for containers run by dockerExecStart/usr/bin/dockerd # 启动主命令ExecReload/bin/kill -s HUP $MAINPID# Having non-zero Limit*s causes performance problems due to accounting overhead# in the kernel. We recommend using cgroups to do container-local accounting.LimitNOFILEinfinityLimitNPROCinfinityLimitCOREinfinity# Uncomment TasksMax if your systemd version supports it.# Only systemd 226 and above support this version.#TasksMaxinfinityTimeoutStartSec0# set delegate yes so that systemd does not reset the cgroups of docker containersDelegateyes# kill only the docker process, not all processes in the cgroupKillModeprocess# restart the docker process if it exits prematurelyRestarton-failureStartLimitBurst3StartLimitInterval60s[Install]WantedBymulti-user.target
# docker 相关配置sudo mkdir /etc/dockersudo vim /etc/docker/daemon.json{data-root: /home/zyp/lib/docker_data # docker 数据保存地址默认保存地址/var/lib/docker
}
# 给系统服务添加执行权限sudo chmod x /etc/systemd/system/docker.service# 重载配置文件csudo systemctl daemon-reload3、启动docker 服务
# 启动sudo systemctl start docker# 启动时报错查看日志(journalctl -xe查看系统日志并输出最近的错误消息和事件) sudo journalctl -xe
# 报错docker 用户组不存在
could not change group /var/run/docker.sock to docker: group docker not found# 解决添加用户组sudo groupadd docker# 添加自己账户名进docker 用户组目的不使用 sudo 访问docker服务sudo usermod 自己用户名 -aG docker # 查看 docker 启动信息 #dockerd 服务本地默认使用unix 套接字进行通讯docker info
Client:Context: defaultDebug Mode: falseServer:Containers: 0 # 容器数量Running: 0Paused: 0Stopped: 0Images: 0 # 镜像数量Server Version: 23.0.6Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslogSwarm: inactiveRuntimes: runc io.containerd.runc.v2Default Runtime: runcInit Binary: docker-initcontainerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8runc version: v1.1.7-0-g860f061init version: de40ad0Security Options:seccompProfile: builtinKernel Version: 3.10.0-1160.42.2.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64 # 系统信息CPUs: 18Total Memory: 35.2GiBName: dp96ID: 1334551c-2ea3-4711-b0a6-b6cee4c63566Docker Root Dir: /home/zyp/lib/docker_data # docker数据存储指定目录(默认/var/lib/docker)Debug Mode: falseRegistry: https://index.docker.io/v1/ # 默认镜像仓库Experimental: falseInsecure Registries: 127.0.0.0/8Live Restore Enabled: falseProduct License: Community Engine
4、docker 常用命令docker
docker version检查Docker客户端和服务端版本。docker info显示有关Docker系统的详细信息包括运行中的容器数量、镜像数量、存储驱动等。docker images列出本地所有的镜像。docker pull从Docker Hub或其他注册表下载镜像。docker run创建并启动一个新的容器。docker ps列出正在运行的容器。 # 查看所有容器 docker ps -adocker logs查看容器的日志输出。docker stop停止容器。docker rm删除容器。docker rmi删除本地的一个或多个镜像。docker exec在运行中的容器中执行命令。docker build通过Dockerfile构建一个新的镜像。docker save imageid newname: 保存镜像到本地docker load newname: 加载本地镜像
5、拉取mysql 镜像
# 1. 有网docker pull mysql:5.7# 2. 离线 镜像市场 网易峰巢 https://c.163yun.com/hub#/library/repository
# 找有网主机拉取相应镜像docker pull hub.c.163.com/library/mysql:5.7
# 保存镜像docker save 9e64176cd8a2 mysql5.7
# 离线传输 并 加载镜像docker load mysql5.7
# 加载后镜像重命名加载后 REPOSITORY TAG 为nonedocker tag 9e64176cd8a2 mysql:5.7 6、启动 MySQL 容器
# 初次启动容器docker run --name mysql5.7 # 定义容器名称-e MYSQL_ROOT_PASSWORD123456 # mysql root账户密码-p 3306:3306 # 将主机端口3306映射到容器MySQL服务端口-d mysql:5.7 # 镜像文件# 进入容器内确认容器内MySQL 配置文件、数据存储地址、日志地址docker exec -it mysql5.7 bash # 将mysql 容器中的配置文件、初始化日志、初始化数据 复制到宿主机上docker cp mysql5.7:/etc/mysql/. /home/zyp/lib/mysql/confdocker cp mysql5.7:/var/log/. /home/zyp/lib/mysql/logdocker cp mysql5.7:/var/lib/mysql/. /home/zyp/lib/mysql/datadir# 删除已启动的容器docker stop mysql5.7docker rm -f mysql5.7# 以卷映射的方式重新创建并启动 mysql 容器
#原因容器运行停止后内数据会自动清空将容器内相关文件进映射到宿主机可持久化存储数据docker run --name mysql5.7 # 定义容器名称-e MYSQL_ROOT_PASSWORD123456 # mysql root账户密码-p 3306:3306 # 将主机端口3306映射到容器MySQL服务端口-v /home/zyp/lib/mysql/conf:/etc/mysql # 将宿主机mysql配置文件、日志、数据路径挂载到容器中实现数据持久化存储-v /home/zyp/lib/mysql/datadir:/var/lib/mysql -v /home/zyp/lib/mysql/log:/var/log-d mysql:5.7 # 镜像文件
官方mysql启动文档 7、远程连接测试 容器化mysql
import pymysqlconn pymysql.connect(host10.18.xx.xx,port3306,userroot,password123456,databasemysql,charsetutf8)
cursor conn.cursor()
cursor.execute(show tables;)
print(cursor.fetchall())
cursor.close()
conn.close()