一、Docker下载安装
1.首先执行卸载docker命令(不管之前有没有装过doker卸载一遍总是没错的)
- sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine

2.安装docker的依赖包
sudo yum install -y yum-utils

3.告诉liunx安装docker从哪里安装
- sudo yum-config-manager \
- --add-repo \
- https://download.docker.com/linux/centos/docker-ce.repo

4.安装docker(docker的引擎、操作docker的客户端、docker容器)
sudo yum install docker-ce docker-ce-cli containerd.io

5.启动doker服务
sudo systemctl start docker
6.查看docker的版本,也确保一下安装是否成功
docker -v
![]()
7.查看docker里有没有下载的应用镜像
sudo docker images
![]()
8.给docker设置开机自动启动,省得以后每次启动输入启动命令
sudo systemctl enable docker
![]()
9.给docker配置应用镜像下载加速
- #创建文件目录
- sudo mkdir -p /etc/docker
- #配置镜像加速地址
- sudo tee /etc/docker/daemon.json <<-'EOF'
- {
- "registry-mirrors": ["https://kru7klna.mirror.aliyuncs.com"]
- }
- EOF

10.重启docker的后台线程
sudo systemctl daemon-reload
11.重启docker服务
sudo systemctl restart docker
二、docker安装mysql
1.使用命令下载
sudo docker pull mysql:5.7

2.使用命令查看已经下载好的mysql镜像
sudo docker images

3.启动mysql镜像
- # --name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
-
- sudo 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

4.查看正在运行中的镜像
sudo docker ps

5.navicat连接测试

6.修改mysql配置
- #进入conf
- cd /mydata/mysql/conf
- #创建my.cnf文件
- sudo vi 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

7.重启mysql应用新的配置
sudo docker restart mysql

三、doker安装redis
1.下载redis镜像
docker pull redis

2.查看已经下载好的redis镜像
docker images

3.创建redis配置文件目录
mkdir -p /mydata/redis/conf
4.进入新创建的redis配置文件目录
cd /mydata/redis/conf
5.创建redis的配置文件
touch redis.conf
6.执行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

7.查看doker中已经启动的镜像
docker ps

8.修改redis配置文件,使其可以aof持久化
vi redis.conf

9.重启redis镜像使用新的配置
docker restart redis
![]()
10.连接测试

四、doker安装nginx
1.下载nginx镜像
docker pull nginx

2.查看已经下载好的nginx镜像
docker images

3.创建nginx配置文件
- # 创建挂载目录
- mkdir -p /home/nginx/conf
- mkdir -p /home/nginx/log
- mkdir -p /home/nginx/html

4.容器中的nginx.conf文件和conf.d文件夹复制到宿主机
- # 生成容器
- docker run --name nginx -p 9001:80 -d nginx
- # 将容器nginx.conf文件复制到宿主机
- docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
- # 将容器conf.d文件夹下内容复制到宿主机
- docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
- # 将容器中的html文件夹复制到宿主机
- docker cp nginx:/usr/share/nginx/html /home/nginx/


5.启动doker中的nginx镜像
- docker run \
- -p 9002:80 \
- --name nginx \
- -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
- -v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
- -v /home/nginx/log:/var/log/nginx \
- -v /home/nginx/html:/usr/share/nginx/html \
- -d nginx:latest

6.验证nginx是否配置成功

五、docker安装JDK
1.下载JDK8
docker pull java:8

2.查看镜像
docker images

六、在docker中运行jar包
1.创建Dockerflie
touch Dockerfile
2.编写Dockerfile文件
- #依赖的父镜像
- FROM java:8
- #作者
- MAINTAINER lzw
- #jar包添加到镜像中
- ADD project.jar project.jar
- #容器暴露的端口 即jar程序在容器中运行的端口
- EXPOSE 18188
- #容器启动之后要执行的命令
- ENTRYPOINT ["java","-jar","project.jar"]
3.上传jar包(注意jar包需要和Dockerfile在同级目录)
![]()
4.使用当前目录的 Dockerfile 创建镜像,标签为 wgs/product 重点注意后面的点
docker build -t wgs/product .

5.运行镜像(前面的18188是访问端口 后面的18188的jar包中server.port=18188)
docker run -d --name myproduct -p 18188:18188 wgs/product
![]()
6.查看日志
docker logs myproduct

7.测试是否能正常访问

总结:整体完成了docker的安装、mysql的安装、nginx的安装、redis的安装、jdk的安装、jar包的发布,可以满足绝大多数应用场景!