云服务常用组件安装使用备份

以下基于CentOS系统进行记录,防止日后忘了查看的。

不知道命令怎么使用

用 --help 可以查看命令的解释。

#例如
docker --help 	#可以查看 docker 的所有详细命令和解释

一、Docker

一、基本知识

Docker解决依赖兼容问题:

  • 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包,形成可移植镜像。
  • 将各应用放到一个隔离容器去运行,避免互相干扰。沙箱机制,相互隔离。

在这里插入图片描述

二、安装Docker

2.1 卸载(可选)

如果之前安装过旧版本的Docker,可以先卸载:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce
2.2 yum安装
  • 安装yum工具(如果没有的话)
yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken
  • 更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast
  • 输入命令安装:
yum install -y docker-ce
2.3 启动docker
systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

测试,查看docker 版本:

docker -v

三、Docker基本操作

镜像:

  • 镜像名称两部分组成: [repository]:[tag]。
  • 没有指定tag时,默认时latest,最新版本镜像。
  • ex: mysql:5.7
3.1 镜像操作命令
docker images		#查看本地所有镜像
docker rmi		#删除本地镜像

docker save 	#保存一个镜像为压缩包
docker load		# 加载一个压缩包为镜像

docker build		# 构建镜像
docker push	# 推送镜像到服务
docker pull		# 从服务拉取镜像
3.2 例子:从DockerHub拉去一个nginx镜像并查看
  • 1、去镜像库搜索nginx,比如 DockerHub
  • 2、拉取镜像: docker pull nginx
  • 3、查看镜像: docker images
3.3 容器相关命令
docker run	# 运行一个容器
docker pause		#暂停一个容器
docker unpause		# 让暂停的容器继续运行
docker start		# 开始一个容器
docker stop		#停止一个容器

docker exec		#进入容器执行命令
docker logs		# 查看容器运行日志
docker ps		#查看所有运行的容器和状态
docker rm 		#删除运行的容器
3.4 案例:
# 创建运行一个nginx容器
docker run --name mn -p 80:80 -d nginx


# 进入nginx容器,修改HTML文件内容
# 一:进入容器
docker exec -it mn bash
# 二: 进入HTML所在目录
cd /usr/share/nginx/html
#三: 修改index.html的内容
sed -i 's#原本内容#新内容#g' index.html



#创建并运行一个redis容器,并且支持数据持久化
#一到dockerhub搜索redis,二查看文档,三docker run
docker run --name redis -p 6379:6379 -d redis redis-server --appendonly yes
3.5 创建mysql容器,同时挂载目录
#一、dockerhub找到想要的mysql版本镜像
#二、导入镜像到本地docker
#三、运行,并挂在文件目录
docker run \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123 \
-p 3306:3306 \
-v /root/tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /root/tmp/mysql/data:/var/lib/mysql \
-d \
mysql:5.7.25 

四、Dockerfile自定义镜像

五、Dokcer compose

二、Docker启动nginx服务,并挂载目录和文件

步骤:

1、获取nginx镜像
去dockerhub查找并查看文档,下载镜像
2、准备要挂载的文件和目录
主要是2个配置文件,2个目录
  • nginx.conf
  • default.conf
  • html文件
  • logs文件

我的结构如下、参照第三步的启动命令,自行修改自己的目录
├── root
│ ├── soft
│ │ ├── nginx
│ │ │ ├──conf ├──nginx.conf
│ │ │ ├──conf.d ├──default.conf
│ │ │ ├──html
│ │ │ ├──logs

解释:前两个是配置文件,方便修改配置; html,放前端项目,logs日志文件;

比如部署vue项目:将dist文件里的东西 放到html即可。

注意:windows版本的nginx.conf 和 docker下的nginx.conf有些许区别,我之前用windows的nginx.conf放到centos的挂载目录下,是不能运行nginx的; 解决:用docker下的nginx.conf

但是我没读文档,对配置文件的配置项不是特别了解,先列一个可行的nginx.conf,不一定适用别人:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
    
    #下面是我加的,本质没有什么区别,还可以配置反向代理等等;
    server{
		listen 80;
		server_name localhost;
		
		location / {
			root   /;
            try_files $uri $uri/ /index.html;  # 解决刷新报404的问题
            index  index.html index.htm;
		}
    }
}
3、启动容器

注意中间-v的挂载文件,替换成自己的就行

docker run --name mn -p 80:80 \
-v /root/soft/nginx/html:/usr/share/nginx/html \
-v /root/soft/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/soft/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf  \
-v /root/soft/nginx/logs:/var/log/nginx \
-d nginx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值