Docker初安装与使用

本文详细介绍了Docker的组成部分、系统需求及在CentOS上的安装步骤,包括设置阿里云镜像加速、启动和检查Docker版本。还展示了如何通过Docker运行MySQL和Redis容器,包括端口映射、数据持久化以及配置文件挂载。此外,文章还提供了基本的Docker命令和设置容器开机自启动的方法。
摘要由CSDN通过智能技术生成

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

  1. DockerClient客户端

  2. Docker Daemon守护进程

  3. Docker Image镜像

  4. DockerContainer容器

  5. docker要求linux内核版本为3.8以上 安装前可以先查看下linux的版本

 cat /etc/redhat-release

 

 uname -r

卸载系统之前的 docker

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

安装 Docker-C

   安装必须的依赖

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

设置 docker repo 的 yum 位置
 

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

注意这是官网推荐的方式,但是默认是国外的地址

所以国内的话可以设置阿里云的镜像 这样速度会快一些

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 

 

 更新yum软件包索引 这样的话以后使用yum命令会更快些

yum makecache fast

 如果是centos8的话需要去掉 fast运行

 

 安装 docker,以及 docker-cli

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

 启动 docker

sudo systemctl start docker

 检查docker版本

docker -v

设置 docker 开机自启动

sudo systemctl enable docker

 配置 docker 镜像加速

  依次执行下面四条命令即可

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

docker常用命令

 

 

 

 

docker内安装mysql

  下载镜像文件

    

docker pull mysql:5.7

创建实例并启动

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 

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:跳过域名解析

docker 安装 redis

   下载镜像文件

docker pull redis

  创建实例并启动

  

mkdir -p /mydata/redis/con
touch /mydata/redis/conf/redis.conf
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

 查看docker正在运行的容器

docker ps

 重启redis

docker restart redis

连接redis

 docker exec -it redis redis-cli


 

 设置redis持久化方式

  进入redis的配置目录

 修改该文件 添加一行持久化AOF命令

appendonly yes

保存文件,重启redis即可

设置每次服务器重启时也重新启动redis和mysql

输入命令:

 sudo docker update mysql --restart=always

评论 58
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值