第一种方式:
-
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.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的版本
第二种方式:pip方式安装docker-compose
-
rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
安装pip的EPEL源
-
yum -y install certbot libevent-devel gcc libffi-devel python-devel openssl-devel python-pip
安装pip
-
pip install –-upgrade pip
升级pip
-
pip install -U docker-compose
安装docker-compose
-
which docker-compose
查看安装位置
docker-compose的yaml文件
文件内容如下:
version: "3"
services:
mysql:
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_USER: 'root'
MYSQL_PASS: 'root'
image: "mysql:5.7"
volumes:
- "./data:/var/lib/mysql"
- "./conf/my.cnf:/etc/my.cnf"
ports:
- "3306:3306"
rabbitmq:
image: "rabbitmq:latest"
container_name: rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=root
restart: always
ports:
- "15672:15672"
- "5672:5672"
redis:
image: "redis:latest"
container_name: redis
restart: always
ports:
- 6379:6379
volumes:
- ./conf/redis.conf:/etc/redis/redis.conf:rw
- ./redis-data/:/data:rw
command:
# 执行的命令
redis-server /etc/redis/redis.conf --appendonly yes
Docker下安装的mysql版本高于5.7出现的问题
解决在执行select等语句使用了GROUP BY时,会提示出现错误#1
我使用的centos7,mysql的版本时5.7,使用docker-compose来启动的。
一般解决这个问题是进入docker的mysql容器,执行set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
和set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
这样能解决此问题。不过我的docker一旦重启之后,它的sql_mode又恢复原样了。
sql_mode修改后重启容器又复原解决方法
使用docker连接mysql容器,并编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件。添加如下语句:sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
在连接mysql容器后无法使用vi或vim命令解决方法
输入如下命令解决:
- apt-get update 同步/etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
- apt-get install vim
如果出现bash:ping:command not found
使用apt-get install iputils-ping
网友评论