docker离线安装1.31.1,docker-compose安装以及docker-compose管理mysql服务
1.离线安装docker首先安装docker服务,因为是离线主机所有需要手动安装:最开始安装如下rpm包,但是依赖忽略,导致无法启动docker service 。安装包下载:https://download.csdn.net/download/mar_ljh/10627546这里推荐使用yum来安装:先还是要下载上面链接提供的 rpm包集合。然后在:/etc/yum.re...
1.离线安装docker
首先安装docker服务,因为是离线主机所有需要手动安装:
最开始安装如下rpm包,但是依赖忽略,导致无法启动docker service 。
安装包下载:https://download.csdn.net/download/mar_ljh/10627546
这里推荐使用yum来安装:
先还是要下载上面链接提供的 rpm包集合。
然后在:/etc/yum.repos.d修改yum的源:增加配置文件:CentOS-Vault.repo,已经存在就直接替换:
file路径要和解压路径保持一致
# placeholder for now # # # CentOS Vault contains rpms from older releases in the CentOS-7 # tree. # # At this point in 7.0.1406, we have no older release [c5-media] name=CentOS-$releasever - Media baseurl=file:///opt/soft/ # file:///media/cdrom/ # file:///media/cdrecorder/ gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 |
yum clean all
yum repolist查看是否生效
生效后:
执行:yum install docker 自动安装依赖。
安装完毕,启动docker:systemctl start docker.service
(这里如果启动报错,修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled,需要重启机器。
具体说明查看本文中:4.启动mysql)
开启启动:systemctl enable docker.service
执行验证是否安装成功:
[root@host-centos7 ~]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-58.git87f2fab.el7.centos.x86_64
Go version: go1.9.4
Git commit: 87f2fab/1.13.1
Built: Fri May 11 14:30:13 2018
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-58.git87f2fab.el7.centos.x86_64
Go version: go1.9.4
Git commit: 87f2fab/1.13.1
Built: Fri May 11 14:30:13 2018
OS/Arch: linux/amd64
Experimental: false
2.安装docker-compose
官网参考:https://docs.docker.com/compose/install/#install-compose
直接在github中https://github.com/docker/compose/releases下载一个dock-compose的releases
或者了解版本,直接用下载:
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
然后增加执行权限:sudo chmod +x /usr/local/bin/docker-compose
测试是否成功:
$ docker-compose --version
docker-compose version 1.22.0, build 1719ceb
3.增加docker-compose.yml以及Makefile:
Makefile文件:
build:
docker-compose -f docker-compose-max.yml build api
push:
start:
docker-compose up -d
docker ps
restart:
docker-compose stop
docker-compose rm -f
docker-compose up -d
docker ps
logs:
docker-compose logs -f
stop:
docker-compose stop
docker-compose rm -f
clean:
rm -f ${OUTPUT}
docker-compose.yml 关于镜像上dockerhub下载mysql官方即可,配置对应修改
version: '2'
services:
mysql:
image: mysql
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=XXXXX
- MYSQL_DATABASE=initdb_
volumes:
- /var/lib/mysql/:/var/lib/mysql/
- /tmp/:/tmp/
ports:
- 3306:3306
restart: always
|
4.启动(这里启动极有可能报错,看你是不是机器已经有运维人员使用过,报错看第5点)
单独启动服务(这里运行该命令)
docker-compose up -d mysql
或者:make restart 一键启动
查看日志:
[root@host-centos7 deploy]# docker-compose logs -f mysql
Attaching to deploy_mysql_1
mysql_1 | chown: cannot read directory '/var/lib/mysql/': Permission denied
mysql_1 | chown: cannot read directory '/var/lib/mysql/': Permission denied
mysql_1 | chown: cannot read directory '/var/lib/mysql/': Permission denied
mysql_1 | chown: cannot read directory '/var/lib/mysql/': Permission denied
报错,没有权限。
说明:
CentOS7中Docker文件挂载,容器中没有执行权限
//挂载外部数据卷时,无法启动容器,
该原因为centOs7默认开启selinux安全模块,需要临时关闭该安全模块,或者添加目录到白名单
解决办法:(直接看第5)
临时关闭selinux:su -c "setenforce 0"
重新开启selinux:su -c "setenforce 1"
添加selinux规则,将要挂载的目录添加到白名单:
示例:chcon -Rt svirt_sandbox_file_t /home/docs
解决办法:这里主机是内网,直接关闭了关闭SELinux
5.关闭SELinux
先来,查看SELinux状态,下面两种查看方法:
a:/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
b:getenforce ##也可以用这个命令检查
再来,关闭SELinux,关闭分两种,一种临时,一种永久,推挤直接永久吧:
1、临时关闭:(不用重启机器)
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、持久关闭:(修改配置文件需要重启机器)
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
reboot重启机器即可
6.重启mysql:
docker-compose stop mysql
docker-compose rm -f mysql
docker-compose up -d mysql
docker-compose logs -f mysql
日志:启动成功
。。。。
mysql_1 | 2018-08-26 15:10:08 1 [Note] Shutting down plugin 'sha256_password'
mysql_1 | 2018-08-26 15:10:08 1 [Note] Shutting down plugin 'mysql_old_password'
mysql_1 | 2018-08-26 15:10:08 1 [Note] Shutting down plugin 'mysql_native_password'
mysql_1 | 2018-08-26 15:10:08 1 [Note] Shutting down plugin 'binlog'
mysql_1 | 2018-08-26 15:10:08 1 [Note] mysqld: Shutdown complete
更多推荐
所有评论(0)