Linux安装docker部署Nginx和常用命令

知识储备:

CentOS Docker 安装 | 菜鸟教程

Ubuntu Docker 安装 | 菜鸟教程       Linux apt 命令 | 菜鸟教程

MacOS Docker 安装 | 菜鸟教程       Linux vi/vim | 菜鸟教程

云服务器 | 菜鸟教程           Nginx 安装配置 | 菜鸟教程

Shell 教程 | 菜鸟教程         Linux 命令大全 | 菜鸟教程

Docker官网链接:https://www.docker.com/
Docker官方安装文档:https://docs.docker.com/install/linux/docker-ce/centos/

 使用lsb_release -a命令查看版本

根据自己的版本 找到对应【知识储备】链接进行卸载旧版本、官方源设置、安装 Docker Engine-Community、删除镜像、容器、配置文件等等初始化操作,文档都有这里不再赘述。我的是CentOS Docker 安装 | 菜鸟教程

卸载docker(防止冲突)

sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

 安装 Docker基本环境

# 安装必须的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 使用 yum-config-manager 工具将 Docker 的官方 CentOS 软件仓库添加到系统中。
# 这样做可以让系统通过 yum 命令安装和管理 Docker 相关的软件包。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 
# 安装 docker,docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
# 查看docker 版本
sudo docker version

配置阿里云镜像源(官方的比较卡的话)

$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

启动docker

# 启动 docker
sudo systemctl start docker
# 查看 docker 服务状态 running 就是启动成功
sudo systemctl status docker
# 设置 docker 开机自启
sudo systemctl enable docker

设置防火墙

# 开启防火墙
systemctl start firewalld
# 打开端口
firewall-cmd --permanent --add-port=[自己的端口]/tcp
# 重载防火墙
firewall-cmd --reload
# 查看防火墙列表
firewall-cmd --list-all

下图是根据文中命令搭建好的相关Nginx,Mysql,redis的docker容器;

在docker中如何搭建Nginx环境 ?

创建docker容器名为nginx

docker run \

-p 8082:80 \

--name nginx \

-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \

-v /home/nginx/log:/var/log/nginx \

-v /home/nginx/html:/usr/share/nginx/html \

-d nginx:latest

等价上面的命令(上面可读性强)

docker run -p 8082:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest

以上命令行解释:

## docker run命令启动一个名为“nginx”的Nginx容器,并进行如下设置:

## 映射宿主机8082端口到容器80端口。

## 挂载宿主机目录到容器:

## 配置文件:/home/nginx/conf/nginx.conf至/etc/nginx/nginx.conf。

## 额外配置:/home/nginx/conf/conf.d至/etc/nginx/conf.d。

## 日志文件:/home/nginx/log至/var/log/nginx。

## 网站内容:/home/nginx/html至/usr/share/nginx/html。

## 容器以后台方式运行。

## 使用Nginx的最新版本镜像。

## \ 是用来进行行尾续行的符号,在Shell脚本或命令行中很常见。当使用 \ 结尾时,表示当前行并未结束,而是继续到下一行。这使得长命令可以分布在多行上,提高可读性。

如何在Docker中搭建Mysql?

# 1、拉取镜像,拉取mysql5.7版本
docker pull mysql:5.7
# 2、创建容器
docker run -p 3306:3306 --name mysql5.7 \
-v [卷挂载目录]/conf:/etc/mysql/conf.d \
-v [卷挂载目录]/log:/var/log/ \
-v [卷挂载目录]/data:/var/lib/mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=[密码] \
-d mysql:5.7

# 3、远程连接,修改权限
### 进入容器
docker exec -it 容器名称/容器id bin/bash
### 登录mysql
mysql -uroot -p[数据库登录密码] 
### 修改权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '[登录密码]' WITH GRANT OPTION;
### 如安装mysql8.0远程连接不上解决方法,因为8之后密码加密和之前版本不同
alter user 'root'@'%' identified with mysql_native_password by '[登录密码]';
### 刷新权限
flush privileges;

如何在Docker中搭建redis?

先下载redis配置文件, 下载地址: http://download.redis.io/redis-stable/redis.conf

# 1、拉取镜像
docker pull redis
# 2、将下载好的配置文件上传至服务器,并移动至卷挂载目录
cp [原位置] [目标位置:卷挂载目录] 
# 3、创建容器
docker run -p 6379:6379 --name redis \
--log-opt max-size=100m \
--log-opt max-file=2 \
-v [卷挂载目录]/redis.conf:/etc/redis/redis.conf \
-v [卷挂载目录]/data:/data \
-d redis \
redis-server /etc/redis/redis.conf \
--bind 0.0.0.0 \
--protected-mode yes \
--requirepass [密码]

有哪些常用命令?

查看历史操作

histroy

查看目录中的文件

 ls

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启docker

systemctl restart docker

查看docke状态

systemctl status docker

开机启动docker

systemctl enable docker

查看docker概要信息

docker info

查看docker网络列表

docker network ls    

查看docker持久化存储情况

docker volume ls

列出本地主机的镜像

docker images

已运行容器列表

docker ps -a

重启镜像

docker restart [serverName]

停止镜像

docker stop [serverName]

查看是否关闭防火墙

systemctl status  firewalld  

删除image文件  

docker image rm [imageName]

查找超过1G的大文件1

find / -type f -size +1G -exec du -h {} \;

查找大文件,查找大于100m的文件,可以根据实际情况,适当调整查找的文件大小

find / -type f -size +100M

找出占用内存资源最多的前 10 个进程

ps -auxf | sort -nr -k 4 | head -10

找出占用 CPU 资源最多的前 10 个进程

ps -auxf | sort -nr -k 3 | head -10

查看 cpu 内存占用情况

ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head

linux全盘查找指定文件

find / -name "文件名"

查看linux服务器的文件系统的磁盘空间占用情况

df -h

显示内存状态

free -h

查找包含日志的目录

find / -name 'logs'

find / -name 'log'

在当前目录下查找今天之内有改动的文件

find /root -mtime 0

取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色

grep –color=auto ‘MANPATH’ /etc/man.config

把文件file1重命名为file2

mv file1 file2

把文件file1、file2、file3移动到目录dir中

mv file1 file2 file3 dir

强制删除目录dir中的所有文件

rm -fr dir

删除当前目录下111.txt文件

rm -f 111.txt

查看系统版本信息

uname -r

用于切换用户身份

su

更新软件包列表

apt-get update

清除终端屏幕

clear

安装 Docker ,curl命令行的意思是发起HTTP GET请求

apt-get install -y docker.io curl -s https://get.docker.com|sh

查看docker版本

docker version

启动docker

service docker start

第一个docker镜像

docker images

docker pull hello-world

第一个docker容器

docker run hello-world

官方下载Nginx并运行  

docker pull nginx:latest  

docker images

显示关于如何使用docker exec命令的详细说明

docker exec --help

创建挂载目录

mkdir -p /home/nginx/conf

mkdir -p /home/nginx/log

mkdir -p /home/nginx/html

cd /home/nginx

ll

生成容器

docker run --name nginx -p 9001:80 -d nginx

将容器nginx.conf文件复制到宿主机

docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf

将容器conf.d文件夹下内容复制到宿主机

docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d

将容器中的html文件夹复制到宿主机

docker cp nginx:/usr/share/nginx/html /home/nginx/

内存使用情况

free -h

 docker中查看日志

docker logs --tail 100 -f <容器ID或容器名称>

–tail 100 参数表示只显示最新的 100 行日志。
-f 参数表示持续输出日志,即实时查看日志更新。
你需要将 <容器ID或容器名称> 替换为你要查看的容器的实际 ID 或者容器名称。
这个命令会输出容器日志的最新 100 行,并持续输出新的日志,直到你手动停止(Ctrl+C)为止

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值