网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
进入Linux服务器根据步骤配置镜像加速器
# 创建docker文件夹
sudo mkdir -p /etc/docker
# 打开文件并配置内容
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://pfjide5p.mirror.aliyuncs.com"]
}
EOF
# 重启服务
sudo systemctl daemon-reload
# 启动docker
sudo systemctl restart docker
新建文件夹
配置内容,并重启服务
根据步骤一步步创建即可!
查看Docker启动状态
systemctl status docker
查看Dockers版本,没有发生错误就是启动成功!
运行 hello-world镜像
docker run hello-world
可以看到没有在本地没有找到镜像 hello-world,docker会去远程仓库 DockerHub下载镜像
!
下载完毕后查看镜像文件
docker images
=============================================================================
# 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 删除资源 . /var/lib/docker是docker的默认工作路径
rm -rf /var/lib/docker
# 卸载docker
sudo yum remove docker
===============================================================================
docker version # 查看docker版本
docker info # 查看docker系统信息,包括镜像和容器的数量
docker 命令 --help # 查看命令的帮助文档,可选参数
docker COMMAND --help
systemctl status docker # 查看Docker启动状态
# 关闭docker时如果提示docker.socket 那就执行此命令再关闭docker
sudo systemctl stop docker.socket # 停止docker连接,很人性化,自动启动
systemctl stop docker # 关闭Docker
systemctl start docker # 启动docker
DockerHub上查看镜像文件详细信息!
查看镜像文件
docker images
REPOSITORY # 镜像的仓库源
TAG # 镜像的标签
IMAGE ID # 镜像id
CREATED # 镜像的创建时间
SIZE # 镜像的大小
### 可选的参数
-a/-all # 列出所有的镜像
-q/--quiet # 只显示镜像的id
搜索Docker镜像
docker search
# 可选的参数
Search the Docker Hub for images
Options:
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print search using a Go template
--limit int Max number of search results (default 25)
--no-trunc Don't truncate output
我们可以根据stars数来过滤镜像
# 搜索mysql镜像stars数大于5000的
docker search mysql --filter=STARS=5000
下载镜像
docker pull 镜像名 # 下载最新镜像
docker pull 镜像名:5 # 下载指定版本镜像
[root@iZ2zejargdc3umcg1is2mcZ /]# docker pull mysql
Using default tag: latest # 下载最新版本MySQL
latest: Pulling from library/mysql
72a69066d2fe: Pull complete # 分层下载,docker image的核心-联合文件系统
93619dbc5b36: Pull complete
99da31dd6142: Pull complete
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
删除镜像
# 根据镜像id删除指定镜像
docker rmi -f 镜像id
# 根据镜像id删除多个镜像
docker rmi -f 镜像id 镜像id 镜像id
# 删除全部的镜像
docker rmi -f $(docker images -aq)
拉取一个CentOS镜像
docker pull centos
运行容器命令
docker run 【参数】 image
#参数说明
--name="名字" 指定容器名字
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口
(
-p ip:主机端口:容器端口 配置主机端口映射到容器端口
-p 主机端口:容器端口
-p 容器端口
)
-P 随机指定端口(大写的P)
运行并进入容器centos
docker run -it centos /bin/bash
退出容器
exit
Linux 内有安装了一个centos,区分了系统文件,文件颜色不同
我们可以看到,使用exit退出会直接停止容器,那怎么才能不停止容器退出呢
ctrl + p + q # 退出容器但不停止容器
列出运行过的容器命令:
docker ps
# 列出当前正在运行的容器
-a # 列出所有容器的运行记录
-n=? # 显示最近创建的n个容器
-q # 只显示容器的编号
删除容器命令:
docker rmi 容器id #删除指定的容器,不能删除正在运行的容器,强制删除使用 rm -f
docker rmi -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
启动和停止容器命令
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前运行的容器
docker kill 容器id #强制停止当前容器
查看容器日志
docker logs --help
docker logs -tf 容器id
docker logs --tail number 容器id #num为要显示的日志条数
# docker容器后台运行,必须要有一个前台的进程,否则会自动停止
编写shell脚本循环执行,使得centos容器保持运行状态
docker run -d centos /bin/sh -c "while:true; do echo xiaowang; sellp 2; done"
查看容器中的进程信息
docker top 容器id
为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**
![](https://img-blog.csdnimg.cn/img_convert/40009f3897f8bb761b0f0b849c53deb2.png)
本份面试集锦涵盖了
* **174 道运维工程师面试题**
* **128道k8s面试题**
* **108道shell脚本面试题**
* **200道Linux面试题**
* **51道docker面试题**
* **35道Jenkis面试题**
* **78道MongoDB面试题**
* **17道ansible面试题**
* **60道dubbo面试题**
* **53道kafka面试**
* **18道mysql面试题**
* **40道nginx面试题**
* **77道redis面试题**
* **28道zookeeper**
**总计 1000+ 道面试题, 内容 又全含金量又高**
* **174道运维工程师面试题**
> 1、什么是运维?
> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
> 3、现在给你三百台服务器,你怎么对他们进行管理?
> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点
> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
> 7、Tomcat和Resin有什么区别,工作中你怎么选择?
> 8、什么是中间件?什么是jdk?
> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
要跟运营人员打交道,请问运营人员是做什么工作的?
> 3、现在给你三百台服务器,你怎么对他们进行管理?
> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点
> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
> 7、Tomcat和Resin有什么区别,工作中你怎么选择?
> 8、什么是中间件?什么是jdk?
> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**