环境
Ubuntu 16.04
注意:我这里docker,mysql等都是安装最新版如果需要则在docker官网搜索相应版本安装
docker搜索对应网址:https://hub.docker.com/search?image_filter=official&q=
步骤
1.更新apt包
注:apt用于软件安装的指令
sudo apt-get update
安装apt依赖 用于通过https获取仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加docker 官方GPG密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
设置稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \ $(lsb_release -cs) \ stable"
2.安装docker
获取最新的docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
查看docker,顺便看看docker版本
docker --version
2.1 docker常用命令
查看是否安装成功
举例是mysql 如果是其他 将mysql换成你下载的镜像
docker images 容器ID
docker ps
docker ps -a
docker ps -a
docker stop 容器ID
docker rm 容器id
docker images
docker rmi 容器id|容器名称
docker inspect 容器name or id | grep IPAddress
-e 设置环境变量
-p 外部端口:内部端口
--name 给容器定义一个名字
-v 挂载 就是将磁盘的文件挂载到容器相对应
3.docker安装mysql
docker pull mysql:latest
运行mysql 并且设置默认密码
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai mysql
4.docker 安装redis
docker pull redis:latest
运行redis
docker run -itd --name redis -p 6379:6379 redis
5.docker 安装rabbitmq
docker pull rabbitmq:latest
运行rabbit
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 -e TZ=Asia/Shanghai rabbitmq
6.docker安装nginx
docker pull nginx:latest
运行nginx 挂载config文件 config文件参考网址:https://www.cnblogs.com/ausion/p/16457365.html
docker run --name nginx -p 80:80 -v /usr/local/nginx/config/nginx.conf:/etc/nginx/nginx.conf -e TZ=Asia/Shanghai -d nginx
7.部署web
7.1我一般将web站点放入/usr/local/web/admin文件下
所以我会在/usr/local文件下创建 /web/admin文件夹然后创建一个Dockerfile文件 文件内容如下
FROM java:8
ADD youyue-admin.jar app.jar
EXPOSE 8098
ENTRYPOINT ["java","-jar","app.jar","--spring.profiles.active=prod"]
from 是基于java8环境
Expose 是端口
--spring.profiles.active=prod 是我需要执行环境文件 如果不需要切换就删除
7.2 将jar包放入文件下,最后截图如下:
注:执行命令时需要注意文件位置是否正确
7.3 构建jar 镜像
docker build -t admin .
查看镜像是否构建成功
docker images admin
运行镜像
docker run -d -p 8098:8098 -e TZ=Asia/Shanghai admin
查看镜像是否运行
docker ps
最后附一张我构建好运行的容器图