一、安装docker
1.更新yum包到更新
yum update
2.安装需要的软件包和驱动程序
yum install -y yum-utils device-mapper-persistent-data lvm2
3.将yum源设置为阿里云
yum -y install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装docker
yum -y install docker-ce
5.安装后查看docker版本
docker -v
6.设置ustc的镜像
vim /etc/docker/daemon.conf
{
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["ip:port"]
}
7.启动docker
systemctl start docker
8.查看docker
systemctl status docker
9.停止docker
systemctl stop docker
10.重启docker
systemctl restart docker
11.设置开机启动
systemctl enable docker
12.将指定用户添加到用户组
usermod -aG docker your_username
例如:usermod -aG docker root
2.docker安装Nginx
1.查看可用版本
docker search nginx
2.拉取最新镜像
docker pull nginx:latest
3.检查是否安装成功
docker images
4.后台运行容器
docker run \
--name nginx \
-d -p 80:80 \
-v /root/myNginx/html/:/etc/nginx/html/ \
-v /root/myNginx/config/nginx.conf:/etc/nginx/nginx.conf \
-v /root/myNginx/log/:/etc/nginx/log/ \
-v /root/myNginx/cert/:/etc/nginx/cert/ \
nginx
5.查看nginx容器是否启动成功
docker ps -a
6.查看是否成功
ip:80
7.配置https
将证书放到cert文件夹中
user nginx;
worker_processes auto;
error_log /etc/nginx/log/error.log notice;
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 /etc/nginx/log/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server {
charset utf-8;
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name www.mpz.ink; #需要将yourdomain.com替换成证书绑定的域名。
index index.html index.htm;
ssl_certificate cert/7191443_mpz.ink.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/7191443_mpz.ink.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
ssl_session_cache shared:SSL:1m;
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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
#让http请求重定向到https请求
error_page 497 https://$host$uri?$args;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name mpz.ink;
return 301 https://mpz.ink$request_uri;
}
}
执行启动
docker run \
--name nginx \
-d -p 80:80 -p 443:443 \
-v /root/myNginx/html/:/etc/nginx/html/ \
-v /root/myNginx/config/nginx.conf:/etc/nginx/nginx.conf \
-v /root/myNginx/log/:/etc/nginx/log/ \
-v /root/myNginx/cert/:/etc/nginx/cert/ \
nginx
3.安装redis
1.查看可用版本
docker search redis
2.拉取镜像
docker pull redis:6.0
3.查看是否安装成功
docker images
4.后台运行redis容器
docker run \
--name redis \
-d --network mynet \
--network-alias redis \
-p 6379:6379 \
-v /root/myRedis/data/:/data/ \
-v /root/myRedis/redis.conf:/etc/redis/redis.conf \
redis:6.0
5.查看nginx容器是否启动成功
docker ps -a
6.进入容器内部
docker exec -it xxxx /bin/bash
7.清除缓存
1.redis-cli
2.auth 密码
3.flushall
4.安装mysql
1.查看可用版本
docker search mysql
2.拉取镜像
docker pull mysql:5.7
3.查看是否安装成功
docker images
4.后台运行mysql容器
docker run \
--name mysql \
-d -p 3306:3306 \
--privileged=true \
-v /root/myMySql/data/:~/mysql/data/ \
-v /root/myMySql/my.cnf:~/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=meng \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci \
mysql:5.7
5.查看nginx容器是否启动成功
docker ps -a
5.安装nacos
1.查看可用版本
docker search nacos
2.拉取镜像
docker pull nacos/nacos-server
3.查看是否安装成功
docker images
4.后台运行nacos容器
docker run \
--name nacos \
-d -p 8848:8848 \
--privileged=true \
--restart=always \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /root/myNacos/logs/:/mydata/nacos/logs/ \
-v /root/myNacos/conf/custom.properties:/mydata/nacos/init.d/custom.properties \
nacos/nacos-server
5.查看nginx容器是否启动成功
docker ps -a
docker指令
1.拷贝容器内文件到主机
docker cp 需拷贝文件 主机路径
2.登录登出镜像仓库
docker login -u 用户名 -p 密码
docker logout
3.查找镜像
docker search xxxx
4.拉取镜像
docker pull xxxx
5.导入本地镜像
docker load -i xxxx
6.查看本地镜像
docker images
7.强制删除本地镜像
docker rmi -f xxx
8.获取容器/镜像的元数据
docker inspect xxxx
9.暂停容器中所有的进程
docker pause
10.恢复容器中所有的进程
docker unpause
11.查看本地容器
docker ps -a
12.查看进程信息
docker top xxxx
13.获取服务器实时事件
docker events xxxx
14.查看日志
docker logs xxxx
15.查看端口映射情况
docker port xxxx
16.启动服务
docker start xxxx
17.重启服务
docker restart xxxx
18.停止服务
docker stop xxxx
19.删除服务
docker rm xxxx
20.进入容器内部
docker exec -it xxxx /bin/bash