官方链接
$ 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
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
注:
$ sudo systemctl enable docker
$ sudo yum remove docker-ce docker-ce-cli containerd.io
#不会自动卸载容器镜像,要手动卸载
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
dockerhub为国外网站,下载镜像时会遇到速度慢甚至连不上的问题,故配置镜像加速,此加速由阿里云提供。
dockerhub选择mysql地址
#最新版本(:latest可省略)
$ docker pull mysql:latest
#指定版本
$ 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
参数说明:
注:查看mysql位置命令:whereis 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在linux系统下,表名是默认区分大小写的
#查看是否区分:show variables like '%case_table%';
#lower_case_table_names值为0,区分大小写;值为1,不区分大小写。默认为0。
lower_case_table_names=1
$ docker restart mysql
此时配置文件已生效,可查看配置文件内容:
$ cd /etc/mysql
$ cat my.cnf
docker update mysql --restart=always
dockerhub选择redis地址
#最新版本
$ docker pull redis
首先要在主机上创建配置文件的映射地址
$ mkdir -p /mydata/redis/conf
$ 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 exec -it redis redis-cli
修改配置文件内容:
$ vi /mydata/redis/conf/redis.conf
#添加如下配置,启用AOF持久化方式
appendonly yes
修改完配置之后要重启redis
$ docker restart redis
docker update redis --restart=always
dockerhub选择nacos地址
#最新版本
$ docker pull nacos/nacos-server:latest
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
默认的账号和密码是 nacos/nacos
dockerhub选择openjdk地址
#最新版本
$ docker pull openjdk:slim-buster
$ java -version
$ cd /etc/profile.d
$ touch java.sh
$ ls |grep java
$ vi java.sh
#根据jdk安装位置,添加配置
JAVA_HOME=/home/Serv/jdk/jdk1.8.0_121
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
#使配置生效
$ source /etc/profile.d/java.sh
$ env
#测试
$ java -version
dockerhub选择nginx地址
docker pull nginx:latest
docker update nginx --restart=always
docker run --name nginx -p 8001:80 -d nginx
mkdir /mydata/nginx/conf
mkdir /mydata/nginx/conf.d
mkdir /mydata/nginx/logs
mkdir /mydata/nginx/html
#2724082f0ccd是nginx容器的id
docker cp 2724082f0ccd:/etc/nginx/nginx.conf /mydata/nginx/conf/
docker cp 2724082f0ccd:/etc/nginx/conf.d/default.conf /mydata/nginx/conf.d/
docker stop nginx
docker rm nginx
docker run --name nginx -p 8001:80 \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/conf.d:/etc/nginx/conf.d \
-d nginx
#配置容器开机自启动
docker update nginx --restart=always