linux 下安装docker

安装docker

方法一: 离线方式安装docker

链接:https://pan.baidu.com/s/1s1lhCLlmbZk0NpFuw2sySA
提取码:ss9h

方法二: 联网自动化安装docker

Docker官方和国内daocloud都提供了一键安装的脚本,使得Docker的安装更加便捷。

官方的一键安装方式:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

国内 daocloud一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

执行上述任一条命令,耐心等待即可完成Docker的安装。

方法三: 联网手动安装docker

docker安装文档
卸载系统之前的 docker

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

安装 Docker-CE
安装必要依赖

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证是否安装成功

启动docker

sudo systemctl start docker

通过运行hello-world镜像来验证是否正确安装了Docker Engine-Community。

// 拉取镜像
sudo docker pull hello-world
// 执行hello-world
sudo docker run hello-world

设置开机自启动

sudo systemctl enable docker

配置 docker 镜像加速

# 创建目录
sudo mkdir -p /etc/docker
# 配置镜像加速器地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://hl1kipsc.mirror.aliyuncs.com"]
}
EOF
# 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

卸载docker

停止docker

systemctl stop docker

查看yum安装的docker文件包

yum list installed |grep docker

[root@localhost ~]# yum list installed |grep docker
containerd.io.x86_64                    1.6.9-3.1.el7                  @docker-ce-stable
docker-ce.x86_64                        3:20.10.21-3.el7               @docker-ce-stable
docker-ce-cli.x86_64                    1:20.10.21-3.el7               @docker-ce-stable
docker-ce-rootless-extras.x86_64        20.10.21-3.el7                 @docker-ce-stable
docker-compose-plugin.x86_64            2.12.2-3.el7                   @docker-ce-stable
docker-scan-plugin.x86_64               0.21.0-3.el7                   @docker-ce-stable

删除上一步查询出来的yum安装包:

yum remove containerd.io.x86_64   

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

验证删除成功

docker -v

docker基本命令

docker 命令

# 查看docker版本号
docker -v
# 启动docker
sudo systemctl start docker
# 查看docker状态
sudo systemctl status docker
# 关闭docker
sudo systemctl stop docker
# 搜索仓库镜像
docker search 
# 拉取镜像:
docker pull 镜像名
# 查看正在运行的容器:
docker ps
# 查看所有容器:
docker ps -a
# 删除容器:
docker rm container_id
# 查看镜像:
docker images
# 删除镜像:
docker rmi image_id
# 启动(停止的)容器:
docker start 容器ID
# 停止容器:
docker stop 容器ID
# 重启容器:
docker restart 容器ID
# 查看容器日志
docker logs 容器id
# 重启容器
docker restart 容器名称

使用docker安装软件

docker 安装 mysql

下载 mysql5.7镜像

# docker pull mysql:版本号
docker pull mysql:5.7

创建实例并启动
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3307 端口 注意为了防止端口冲突改成3307端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机, 这样修改/etc/mysql下的文件就相当于修改 dockers 中的配置文件
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码为root

docker run -p 3307: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

在这里插入图片描述

在这里插入图片描述

进入dockers的mysql 容器

docker exec -it mysql /bin/bash

查看MySQL安装位置
配置文件在 /etc/mysql 下
日志文件在 /var/log/mysql 下

 whereis mysql

在 Linux 中 修改 docker 中的MySQL 配置

初始  /mydata/mysql/conf/ 下没有my.cnf文件, vi 命令会自动创建一个my.cnf文件
vi /mydata/mysql/conf/my.cnf

将下面的内容复制进 my.cnf文件中, 并 保存
其中 skip-name-resolve 是为了跳过域名解析, 解决mysql连接慢的问题

[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容器

docker restart mysql

再次进入容器中

# 进入容器
docker exec -it mysql /bin/bash
# 查看容器内配置文件挂载情况, 和linux中一样说明挂载成功
cat /etc/mysql/my.cnf 

设置 root 远程访问
执行以下命令, 并使用navicat连接数据库, 用户名: root ,密码 : root

# 在linux 中登录 docker中的mysql
docker exec -it mysql mysql -uroot -proot
# 设置远程访问权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
# 刷新配置
flush privileges;

设置 mysql 容器开机自启动

sudo docker update mysql --restart=always

docker 安装 reids

下载镜像文件

docker pull redis

创建实例并启动

# 在linux中创建redis挂载文件目录
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
# 在linux中连接redis客户端 
docker exec -it redis redis-cli

上面安装的redis是没有持久化的, 配置redis持久化

# 编辑linux中挂载的redis配置文件
vi /mydata/redis/conf/redis.conf
# 设置redis持久化
appendonly yes
# 重启redis容器
docker restart redis

设置 redis 容器开机自启动

sudo docker update redis --restart=always

安装redis可视化工具
链接:https://pan.baidu.com/s/1PN7WHpzDYd5cxukwLwhiiw
提取码:ukkc

猜你喜欢

转载自blog.csdn.net/qq_44154912/article/details/126446604