怎样做优惠券网站,网站建设实践课程报告,宝安的医院网站建设,学习软件的网站文章目录 1. docker环境1.1 docker安装1.2 docker Web管理工具1.3 docker网络1.3.1 网络说明1.3.2 创建指定网关的网络 2. docker安装软件2.1 安装nginx2.2 安装redis2.3 安装mysql2.4 部署springboot程序2.4.1 编写dockerfile2.4.2 构建镜像2.4.3 启动镜像 1. docker环境
1.1… 文章目录 1. docker环境1.1 docker安装1.2 docker Web管理工具1.3 docker网络1.3.1 网络说明1.3.2 创建指定网关的网络 2. docker安装软件2.1 安装nginx2.2 安装redis2.3 安装mysql2.4 部署springboot程序2.4.1 编写dockerfile2.4.2 构建镜像2.4.3 启动镜像 1. docker环境
1.1 docker安装
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker.service1.2 docker Web管理工具
#创建文件夹
mkdir -p /docker/portainer/{data,public}#中文汉化
#注意安装前不要导入汉化包否则无法注册。
https://www.quchao.net/Portainer-CN.html# 运行
docker run -d -p 9000:9000 --restartalways \
-v /var/run/docker.sock:/var/run/docker.sock \
--privilegedtrue \
portainer/portainer-ce# 初始化登录地址
http://192.168.80.250:9000admin
111111111111 (12位)
1.3 docker网络
1.3.1 网络说明
首先我们需要创建一个自定义的网络这样我们才可以使用Docker为容器分配固定IP。可以使用下面的命令来创建自定义网络 如果只使用docker network create pub_network创建网络则容器启动时会自动分配动态的IP地址和网关。
docker network create --subnet192.168.0.0/16 pub_network这个命令将创建名为“mynet”的网络并指定它的子网为“192.168.0.0/16”。 接下来我们需要为需要分配固定IP的容器指定IP地址。可以使用下面的命令来启动一个容器并为它分配固定IP
docker run --nameubuntu --netpub_network --ip192.168.0.101 -itd ubuntu:latest这个命令将启动一个名为“ubuntu”的容器并将它加入到自定义网络“mynet”中。同时它还为这个容器分配了固定IP地址“192.168.0.101”。 现在我们可以验证容器的IP地址是否生效。可以使用下面的命令来查看容器的IP地址
docker inspect ubuntu | grep IPAddress这个命令将输出包含容器IP地址的行从而验证我们刚才为容器分配的固定IP地址是否生效了。 最后需要注意的是我们可以为同一个网络中的多个容器分配不同的IP地址但IP地址必须在同一个子网中。
#将容器1添加到my_network网络中
docker network connect my_network container1
#从网络中删除容器1
docker network disconnect my_network container1
#使用Bridge模式进行网络配置
docker run -it --name my_container --net bridge1.3.2 创建指定网关的网络
docker network create --subnet192.168.10.0/255 pub_network2. docker安装软件
2.1 安装nginx
docker pull nginx#挂载启动
docker run -it -d \
--namenginx \
--networkpub_network \
-p 80:80 \
-v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/html:/usr/share/nginx/html \
-v /docker/nginx/logs:/var/log/nginx \
--privileged nginx
2.2 安装redis
docker pull redis#配置下面内容
# 文件路径/docker/redis/redis.conf
port 6379
bind *
daemonize no
pidfile /docker/redis/redis.pid
appendonly yes# 启动docker run \
--networkpub_network \
--name redis \
-v /docker/redis/data:/data \
-v /docker/redis/redis.conf:/etc/redis/redis.conf \
-d redis \
redis-server /etc/redis/redis.conf \
--appendonly yes2.3 安装mysql
docker pull mysql:5.7#配置
#文件 /docker/mysql/conf/my.cnf
[client]
default-character-setutf8
[mysql]
default-character-setutf8
[mysqld]
init_connectSET collation_connection utf8_unicode_ci
init_connectSET NAMES utf8
character-set-serverutf8
collation-serverutf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve# 启动容器
docker run --name mysql \
-p 3306:3306 \
--networkpub_network \
-v /docker/mysql/log:/var/log/mysql \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/conf/my.cnf:/etc/my.cnf \
-e MYSQL_ROOT_PASSWORDroot \
-d mysql:5.7#进入容器内部
docker exec -it mysql bash
mysql -uroot -proot#给root开远程权限
grant all privileges on *.* to root% identified by root;
flush privileges;2.4 部署springboot程序
2.4.1 编写dockerfile
文件名称固定是Dockerfile不能随意改变文件内容如下
FROM openjdk:8
# 第一行必须是FROM。。。不能把这行注释移动到第一行。
# 如果镜像没有则会自动下载# 作者
MAINTAINER 硅谷工具人# VOLUME 指向了一个/tmp的目录由于 SpringBoot使用内置的Tomcat容器Tomcat默认使用/tmp作为工作目录。
# 这个命令的效果是在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp# 将应用的配置文件也拷贝到镜像中。使用下面的ADD也可以
# COPY *.jar /app.jar # 将本地JAR包打包到容器中并重命名(erp.jar是重命名后的jar)
ADD ruoyi-admin.jar erp.jar# 声明需要暴露的端口,在Dockerfile中声明了那些端口是需要开放的
# 在构建容器时通过-p可以随机映射端口如果EXPOSE没有指定端口那么使用-p参数无效。
# 本配置只是声明一般我们需要在构建docker容器时使用-p小写的p指定开放的端口。
EXPOSE 8080 #docker启动时运行的命令这里容器启动时直接运行jar服务。
ENTRYPOINT [java,-jar,/erp.jar]
注意点 1、文件名必须是Dockerfile大小写不能修改 2、maven项目先打包然后将打包好的jar包和Dockerfile文件上传到服务器并且放到相同的目录。 3、如果有外置配置文件application.yml也需要放到上面相同的目录。
2.4.2 构建镜像
docker build -t erp:1.0 .#查看构建的镜像
docker images
2.4.3 启动镜像
docker run --networkpub_network --name erp -d erp:1.0