docker默认安装路径 /var/lib/docker
1、卸载旧版本(首次安装可以跳过)
//注意这里下面的代码一下复制全 然后贴过去回车等待就行了
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、使用存储库安装
设置存储库
sudo yum install -y yum-utils
安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3、安装DOCKER引擎
sudo yum install docker-ce docker-ce-cli containerd.io
4、设置docker开机自启动
sudo systemctl enable docker
5、卸载Docker
卸载Docker Engine,CLI和Containerd软件包:
sudo yum remove docker-ce docker-ce-cli containerd.io
主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
sudo rm -rf /var/lib/docker
必须手动删除所有已编辑的配置文件。
6、启动个redis服务 (可选可不选)
docker run -d -p 6379:6379 --name redis redis
启动个带密码的redis
docker run -d -p 6379:6379 --name redis redis --requirepass "mypassword"
使用docker快速安装mysql
docker run -d --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
使用docker快速安装mariadb
docker run -d --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mariadb
7、创建一个自定义容器运行jar包
创建一个文件夹,放要运行的jar包
在jar包的统计目录下创建一个文件 Dockerfile
编辑Dockerfile内容如下:
# jdk 是一个已有的包含 jdk 的镜像
# 作者签名
# 简化 jar 的名字路径 (#:表示注释掉)
# 执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就执行此行)
# 设置对外端口为 8089
FROM openjdk:11
MAINTAINER YWS
COPY ./hrm.jar /app.jar
CMD java -jar /app.jar
EXPOSE 9901
通过 dockerfile 文件生成本工程的镜像:
# -t :给镜像取名为 hrm 名字自定义
docker build -t hrm .
通过镜像启动容器,命令如下:
# -d 后台运行、
# 最后一个 gentle 是引用的镜像的名字、
# --name jy_gentle 给容器取名为 jy_gentle (取名参数前面是两短横线)、
# -p 8089:8089 端口映射,注意是小写 p
# 前一个 8089 是对外浏览器上访问的端口,后一个 8089 是容器内工程本身的端口,两者可不一样
docker run -d -p 8089:8089 --name jy_gentle gentle
name 后面这俩参数可以修改成自己想要的
8、docker 安装nginx
可参考
docker pull nginx:latest 拉取docker 中nginx镜像
创建docker主机映射文件夹 mkdir -p /data(路径可以自定义)/nginx/{conf,conf.d,html,logs}
创建配置文件 vim /data/nginx/conf/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
vim /data/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
创建一个html文件测试
vim /data/nginx/html/index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>系统时间</title>
</head>
<body>
<div id="datetime">
<script>
setInterval("document.getElementById('datetime').innerHTML=new Date().toLocaleString();", 1000);
</script>
</div>
</body>
启动容器
#将容器中nginx的80端口映射到本地的81端口
docker run --name nginx81 -d -p 81:80 name 后的容器名字可以自己起 -p 前的端口号是映射的前台端口号
-v /data/nginx/html:/usr/share/nginx/html :之前的路径就是你自己创建的nginx下html路径
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /data/nginx/logs:/var/log/nginx
-v /data/nginx/conf.d:/etc/nginx/conf.d
-d nginx -d后镜像名字
打开服务器地址 xx.xx.xx.xx:-p前的端口看看成功没
当运行vue项目时,直接把打包后的项目目录内的文件 复制放到你创建的html文件夹中