Docker环境搭建

安装Docker

Docker 官方安装文档

1、卸载系统之前的 docker

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

2、安装 Docker-CE

安装yum-utils包(它提供yum-config-manager实用程序)并设置存储库。

sudo yum install -y yum-utils
# 官方yum源
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# 阿里云yum源
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 docker,以及 docker-cli

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3、启动 docker

sudo systemctl start docker

4、设置 docker 开机自启

sudo systemctl enable docker

5、测试 docker 常用命令,注意切换到 root 用户下 su root,密码 root

Docker CLI 的基本命令

查看版本号
$ docker -v

查看镜像文件
$ docker images

启动docker
$ sudo systemctl start docker

查看启动进程
$ docker ps

设置开机自启
$ sudo systemctl enable docker

重启镜像文件
$ docker restart mysql
$ docker restart redis

设置docker镜像自动启动
$ docker update redis --restart=always
$ docker update mysql --restart=always

进入镜像内部控制台
$ docker exec -it mysql /bin/bash

启动docker
$ systemctl start docker

守护进程重启
$ sudo systemctl daemon-reload

重启docker服务
$ systemctl restart  docker

重启docker服务
$ sudo service docker restart

关闭docker
$ service docker stop

关闭docker
$ systemctl stop docker 

6、配置 docker 镜像加速
阿里云,容器镜像服务
针对 Docker 客户端版本大于 1.10.0 的用户
您可以通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器

# 创建 docker 目录
sudo mkdir -p /etc/docker
# 修改 daemon.json 文件,在文件末尾添加指定的内容。
# 注意,该 json 数据中的 URL 地址是与用户登录账号绑定的,不同的用户所生成的地址是不同的。
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://**efyvnhk5.mirror.aliyuncs.com"]
}
EOF
#  重新加载服务配置文件
sudo systemctl daemon-reload
# 重启 docker 引擎
sudo systemctl restart docker

docker 服务开机自启动命令

systemctl enable docker.service

关闭docker 服务开机自启动命令

systemctl disable docker.service

docker 安装 MySQL

1、下载镜像文件
docker pull mysql:5.7
2、创建实例并启动

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

参数说明

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
-d mysql:5.7:后台方式运行镜像

3、进入mysql的docker所属容器内部

# 查看镜像文件
$ docker images
# 查看启动进程
$ docker ps
# 查看对应镜像内部
$ docker exec -it mysql /bin/bash
# 进入镜像内部查看相关的文件夹
$ whereis mysql
# 退出镜像内部
$ exit

4、MySQL 配置
创建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

注意:解决 MySQL 连接慢的问题
在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve:跳过域名解析

4、通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -proot

5、设置 root 远程访问

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;

6、进入容器文件系统
docker exec -it mysql /bin/bash

docker 安装 Redis

1、下载镜像文件

docker pull redis 

2、创建实例并启动

# 默认没有这如下文件夹和文件,需要创建
$ mkdir -p /mydata/redis/conf
$ touch /mydata/redis/conf/redis.conf

#启动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

参数说明:

-p 6379:6379:端口映射

-v /mydata/redis/data:/data:将数据文件夹挂载到主机

-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf:将配置文件挂载到主机

-d redis redis-server /etc/redis/redis.conf:启动的时候redis-server 加载redis.conf配置文件

查看Redis是否启动
docker ps

redis 自描述文件: redis.conf

3、使用 redis 镜像执行 redis-cli 命令连接
docker exec -it redis redis-cli

创建并修改Redis配置文件
cat /mydata/redis/conf/redis.conf

如果数据没有持久化,需配置
vi /mydata/redis/conf/redis.conf
开启Redis持久化配置
appendonly yes

4、删除redis

  1. 停止redis
    执行quit指令后再次执行exit指令,退出redis

  2. 通过 docker ps 或 docker ps -a 命令查看容器的运行信息
    docker ps 或者 docker ps -a

  3. 先删除容器,删除前我们需要先停止容器,否则会提示错误,停止容器执行以下指令:
    停止容器 : docker stop names/ContainerId
    删除容器 : docker rm names/ContainerId

  4. 再删除镜像
    docker rmi repository/imageId

  5. 最后查看是否存在redis 查看是否有redis镜像
    docker search redis
    docker images

5、配置docker默认启动容器

docker update --restart=always 容器名称

docker默认启动容器mysql和redis

docker update --restart=always mysql

docker update --restart=always redis

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值