安装docker
- 卸载旧版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 使用 Docker 仓库进行安装
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
阿里云仓库
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- docker客户端等
$ sudo yum install docker-ce docker-ce-cli containerd.io
- 启动 Docker。
$ sudo systemctl start docker
- 开机自己动docker
$ sudo systemctl enable docker
- 卸载
yum remove docker-ce
- 阿里云镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://7vqhngdo.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
下载镜像文件
- 拉取 MySQL 镜像
# 拉取 MySQL 镜像
$ sudo 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/log:/var/log/mysql # 将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql # 将数据文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql # 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root # 初始化root用户的密码
-d mysql:5.7 # 后台方式启动哪个镜像
- 安装成功查看
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
975c50ef8b84 mysql:5.7 "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
- 交互模式进入
$ docker exec -it mysql /bin/bash
- 拉取redis 与mysql类似
# 启动
$ mkdir -p /mydata/redis/conf
$ touch /mydata/redis/conf/redis.cnf
$ docker run -p 6379:6379 --name redis \
-v /usr/local/redis/data:/data \
-v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
# 交互
$ docker exec -it redis redis-cli
# es
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elaasticsearch.yml -v /mydata/elasticsearch/data:/usr/chare/elasticsearch/data -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2
- 容器自启动
docker update redis --restart=always
docker update mysql --restart=always