centos7 安装docker

docker vagrant 的部署

卸载docker

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

安装依赖库

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
   --add-repo \
  https://download.docker.com/linux/centos/docker-ce.repo

检查库中可以安装的版本

 

指定版本安装

yum install docker-ce-18.06.3.ce-3.el7 docker-ce-cli-18.06.3.ce-3.el7 containerd.io

 

 

安装最新版本的docker

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

完成

image-20200808194051589

启动

$ sudo systemctl start docker

设置docker开机自启动

$ sudo systemctl enable docker

 

2. 配置镜像加速器

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

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mdp6e4fh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

4 检查镜像

sudo docker images

下载mysql

$ sudo docker pull mysql:5.7

切换root 用户

mysql镜像启动命令

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=7059 \
-d mysql:5.7

上面 -v表示镜像挂载

docker run -p 3306:3306 --name mysql ;名字叫mysql 容器

的端口3306映射到主机3306

-v /mydata/mysql/conf:/etc/mysql \ 将配置文件夹挂在到主机

docker run -p 3306:3306 --name mysql \ 将日志文件夹挂载到主机

-v /mydata/mysql/data:/var/lib/mysql \ 将配置文件挂载到主机

-e MYSQL_ROOT_PASSWORD=root \ 设置用户名和密码

查看镜像

docker ps

进入mysql 镜像

docker exec -it mysql /bin/bash

检查MySQL安装在哪里

$ whereis  mysql

将容器内部的mysql的log日志挂载在linux的文件夹中

/mydata/mysql/log

还有etc配置,mysql产生的data

 

 

修改mysql 配置文件

vi /mydata/mysql/conf/my.cnf

[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

 

修改完my.cnf以后重启

docker restart mysql

进入mysql镜像

sudo docker exec -it mysql /bin/bash

重启失败查看日志

docker logs mysql

 

查看docker 中的进程

sudo docker ps -a

让docker 中的镜像自启动

sudo docker update redis --restart=always

 

进入docker 中的mysql

sudo docker exec -it mysql /bin/bash

 

修改mysql的密码

set password for root@localhost=password('xxxx');

 

mysql

mysql>GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '7059' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxx';

 

redis配置

生成redis

拉取镜像

$ docker pull redis

然后创建目录结构

mkdir -p /mydata/redis/conf

进入上述文件目录

$ touch redis.cnf

然后运行这个命令外部就有redis,cnf了

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

redis 持久化,在/mydata/redis/conf 下的redis.conf 中加入

appendonly yes

然后重启redis

docker restart redis

删除镜像

(1)首先查询容器ID

docker ps -a

(2)关闭容器

docker stop 容器ID

(3)删除容器

docker rm 容器ID

(4)查看镜像ID

docker images

(5)删除容器

docker rmi 镜像ID

posted @ 2020-08-22 21:11  深海见林  阅读(129)  评论(0)    收藏  举报