进程相关
1、根据进程名查看进程信息,以查看tomcat进程名为例,查看所对应的进程id为1095
ps -ef | grep tomcat
2、根据进程id查看进程占用端口,查看对应端口为8080(如果没有netstat命令,使用 yum -y install net-tools安装)
netstat -nap | grep 1095
3、根据端口查看对应进程,查看占用8080端口的进程id,为1095
netstat -tunlp | grep 8080
4、根据进程id查看进程信息,查看进程id为1095的进程信息
ps -ef | grep 1095
安装docker
yum update
2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yum install -y yum-utils device-mapper-persistent-data lvm2
3、 设置yum源#官方
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#清华大学
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
5、 查看docker版本,验证是否验证成功docker -v
基础命令
• 启动docker服务 systemctl start docker
• 停止docker服务 systemctl stop docker
• 重启docker服务 systemctl restart docker
• 查看docker服务状态 systemctl status docker
• 开机启动docker服务 systemctl enable docker
创建网络:docker network create my_net
查看网络:docker network ls
一:mysql
1.mkdir mysql
2.mkdir conf ,mkdir logs ,mkdir data
3.docker pull mysql
4.docker run -id -p 3306:3306 --network my_net --name=mysql -v /mnt/mysql/conf:/etc/mysql/conf.d -v /mnt/mysql/logs:logs -v /mnt/mysql/date:/var/lib/mysql --restart=always -e MYSQL_ROOT_PASSWORD=root mysql
若有需要,在conf目录中创建 my.cnf配置文件,内容如下:
[mysqld]
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’
二:redis
1.mkdir redis ,mkdir data
2.docker pull redis
3.docker run -p 6379:6379 --network my_net -v /mnt/redis/data/:/data --restart=always --name redis -d redis redis-server --appendonly yes --requirepass “123456”
命令说明:
-p:宿主机端口与容器端口映射,前面的端口为主机映射端口(需配置服务器安全组), 后面的端口为镜像开放的端口
-v:挂载,将容器中的redis持久化数据挂载到宿主机,避免容器重启导致的数据丢失。
--restart=always:无论什么情况挂壁,总是重启
--name:容器名称
-d:使用指定的镜像,在后台运行容器
--appendonly yes:redis运行时开启持久化
–requirepass “111111”:设置redis登陆密码
三:nginx
1.创建 目录 mkdir /mnt/nginx {cert,conf,conf.d,html,logs}
2.在conf 目录下创建 vim 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;
}
3.在conf.d目录下创建 vim default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#伪静态配置
#location / { try_files $uri $uri/ /index.html; }
#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;
}
}
4.在 html目录下创建 vim index.html
Hello nginx
5.docker pull nginx
6.docker run --name nginx -p 80:80 -p 443:443 --network my_net -v /mnt/nginx/html:/usr/share/nginx/html -v /mnt/nginx/logs:/var/log/nginx -v /mnt/nginx/cert:/etc/nginx/cert -v /mnt/nginx/conf.d:/etc/nginx/conf.d -d --restart=always nginx
7.域名配置
server {
listen 443 ssl;
server_name wenars.com;
ssl_certificate cert/wenars.com.pem;
ssl_certificate_key cert/wenars.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root html;
index index.html index.htm;
#伪静态配置
#location / { try_files $uri $uri/ /index.html; }
location / {
proxy_pass http://wenars-app:8000;
client_max_body_size 5m;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
proxy_set_header X-Real-IP $remote_addr;
}
location /.well-known {
root /user/share/nginx/html;
}
location /upload {
root /user/share/nginx/html;
}
location /api {
proxy_pass http://yshop-app:8008;
client_max_body_size 5m;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
四:springBoot服务
1.mkdir jar
2.vim Dockerfile
FROM java:8
作者MAINTAINER hf
VOLUME 指定了临时文件目录为/tmp。 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp#VOLUME /tmp
将jar包添加到容器中并更名为***.jarADD redis-test.jar redis-test.jar
运行jar包RUN bash -c ‘touch /redis-test.jar’
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/redis-test.jar"]
3.制作镜像 docker build -t redis-test .
-t 参数是指定此镜像的tag名
3.启动容器
[root@localhost docker]# docker run -d -p 8080:8080 --network my_net --name redis-test redis-test --restart=always
-d参数是让容器后台运行 -p 是做端口映射,此时将服务器中的8080端口映射到容器中的8085(项目中端口配置的是8085)端口



