IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> dockerfile -> 正文阅读

[系统运维]dockerfile

dockerfile

整理ubuntu的软件包管理命令和服务管理命令

aptget命令
aptget是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb
包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件
或操作系统。aptget在安装包的时候是据/etc/apt/sources.list文件中指定的源来寻找的安装
包,你可以根据自己的需要对这个文件进行修改。
apt-get命令一般需要root权限执行,所以一般跟着sudo命令。
sudo apt-get install package 安装包
sudo apt-get install package - - reinstall 重新安装包
sudo apt-get -f install 修复安装”-f = ——fix-missing”
sudo apt-get remove package 删除包
sudo apt-get remove package - - purge 删除包,包括删除配置文件等
sudo apt-get autoremove package 删除包及其依赖的软件包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
apt-get包含的常用的一些工具:

工具说明
install其后加上软件包名,用于安装一个软件包
update从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表
upgrade升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update
dist-upgrade解决依赖关系并升级(存在一定危险性)
remove移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件
autoremove移除之前被其他软件包依赖,但现在不再被使用的软件包
purge与remove相同,但会完全移除软件包,包含其配置文件
clean移除下载到本地的已经安装的软件包,默认保存在在/var/cache/apt/archives/
autoclean移除已安装的软件的旧版本软件包
aptget常用的参数:
参数说明
:----::----:
--y自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用
--s模拟安装
--q静默安装方式,指定多个q或者q=#,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用
--f修复损坏的依赖关系
--d只下载不安装
–reinstall重新安装已经安装但可能存在问题的软件包
–installsuggests同时安装APT给出的建议安装的软件包
apt-cache命令:
apt-cache主要用于搜索包。
sudo apt-cache search package 搜索包
sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-cache showpkg package 显示软件包信息,包括包的依赖关系,包的提供者,
sudo apt-cache pkgnames 打印软件包列表中所有包的名字
sudo apt-cache dumpavail 打印软件包列表中所有包的简介信息
sudo apt-cache depends package 了解使用依赖
sudo apt-cache rdepends package 是查看该包被哪些包依赖
服务管理
历史版本中的 Linux 对服务的操作是通过 service 来完成的;
目前 Linux 新的发行版已经内置了systemctl 来操作服务。
service
可通过sercice SCRIPT COMMAND命令管理服务,SCRIPT 为/etc/init.d/中存放的可执行脚本文件:
service SCRIPT start:启动服务
service SCRIPT stop:停止服务
service SCRIPT restart:重启服务
service SCRIPT status:查看状态服务
此外还可以用service –status-all显示出所有系统服务列表,其中”+”代表服务正在运行,而”-“代表服务处于关闭状态,”?”代表根本没
有状态。
用户可以添加自定义服务,将相应脚本放置于/etc/init.d/文件夹下
systemctl
systemctl status:显示系统状态
systemctl start 服务:立即激活服务
systemctl stop 服务:立即停止服务
systemctl restart 服务:重启服务
systemctl enable 服务:开机自动激活服务
systemctl disable 服务:取消开机自动激活服务
systemctl daemon-reload:重新载入 systemd,扫描新的或有变动的服务

整理alpine的软件包管理命令和服务管理命令

apk包管理命令
apk –help可以查看完整的包管理命令
apk info 列出所有已安装的软件包
-a:显示完整的软件包信息
-e:检测软件包的安装
-L:列出软件包的内容
-R:列出指定包的依赖
-s:显示软件包大小
-d:显示软件包的描述
–who-owns:显示指定文件属于的包
apk del:删除一个软件
apk apk update 更新最新本地镜像源
apk upgrade 升级软件
apk search 搜索可用软件包,搜索之前最好先更新镜像源
bash-4.3# apk search #查找所以可用软件包
bash-4.3# apk search -v #查找所以可用软件包及其描述内容
bash-4.3# apk search -v ‘acf*’ #通过软件包名称查找软件包
bash-4.3# apk search -v -d ‘docker’ #通过描述文件查找特定的软件包
apk add 从仓库中安装最新软件包,并自动安装必须的依赖包,也可以从第三方仓库添加软件包
bash-4.3# apk add curl busybox-extras #软件以空格分开这里,这里列举我们用的最多的curl和telnet
bash-4.3# apk add –no-cache curl
bash-4.3# apk add mongodb –update-cache –repository http://mirrors.ustc.edu.cn/alpine/v3.6/main/ –allow-untrusted #从指定镜像
源拉取
安装指定版本软件包
bash-4.3# apk add mongodb=4.0.5-r0
bash-4.3# apk add ‘mongodb<4.0.5’
bash-4.3# apk add ‘mongodb>4.0.5’
升级指定软件包
bash-4.3# apk add –upgrade busybox #升级指定软件包

部署nginx

拉取alpine镜像

[root@localhost ~]# docker pull alpine:latest
latest: Pulling from library/alpine
59bf1c3509f3: Pull complete 
Digest: sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
alpine       latest    c059bfaa849c   9 months ago   5.59MB

2.编写dockerfile

[root@localhost ~]# vim Dockerfile
[root@localhost ~]# cat Dockerfile
FROM alpine
RUN echo "https://mirrors.aliyun.com/alpine/v3.11/main/" > /etc/apk/repos
itories && \
echo "https://mirrors.aliyun.com/alpine/v3.11/community/" >> /etc/ap
k/repositories && \
apk add nginx && mkdir /run/nginx/
EXPOSE 80
ENTRYPOINT [ "/usr/sbin/nginx", "-g", "daemon off;" ]

[root@localhost ~]# 

3.构建镜像,镜像名称为nginx:v1

[root@localhost ~]# docker build -t nginx:v1 .
Successfully built 787adacfe752
Successfully tagged nginx:v1

运行容器,映射端口

[root@localhost ~]# docker run -d --name liuaojie -p 80:80 nginx:v1
bb9f76538bde0b3bc1e7f1de49b9978b41349577b2b7e54d1e450133f6517a24
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                               NAMES
bb9f76538bde   nginx:v1   "/usr/sbin/nginx -g …"   7 seconds ago   Up 6 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   liuaojie
[root@localhost ~]# 

进入容器

[root@localhost ~]# docker exec -it bb9f76538bde /bin/sh
/ # vi /etc/nginx/conf.d/default.conf
/ # cat /etc/nginx/conf.d/default.conf
# This is a default site configuration which will simply return 404, preventing
# chance access to any other virtualhost.

server {
	listen 80 default_server;
	listen [::]:80 default_server;

	# Everything is a 404
	location / {
	    index index.html;
	}

	# You may need this to prevent return 404 recursion.
	location = /404.html {
		internal;
	}
}
/ # nginx -s reload
/ # exit
![请添加图片描述](https://img-blog.csdnimg.cn/12fd205f89314f6cb69b23bc9ccf9ebc.jpeg)


源代码编译安装nginx

1.将nginx1.16.1.tar.gz,pcre8.44.tar.gz拖进虚拟机

[root@localhost ~]# yum -y install lrzsz
[root@localhost ~]# rz -E
rz waiting to receive.
[root@localhost ~]# rz -E
rz waiting to receive.
[root@localhost ~]# ll
total 3064
-rw-------. 1 root root    1093 Jul 21 00:02 anaconda-ks.cfg
-rw-r--r--. 1 root root     288 Aug 31 17:34 Dockerfile
-rw-r--r--. 1 root root 1032630 Aug 31 09:57 nginx-1.16.1.tar.gz
-rw-r--r--. 1 root root 2090750 Aug 31 09:57 pcre-8.44.tar.gz
[root@localhost ~]# 

2.编写Dockerfile

[root@localhost ~]# vim Dockerfile

[root@localhost ~]# cat Dockerfile
FROM alpine:latest
ADD nginx-1.16.1.tar.gz /home/
ADD pcre-8.44.tar.gz /home/
RUN echo http://mirrors.aliyun.com/alpine/v3.10/main/ > /etc/apk/repositories && \
    echo http://mirrors.aliyun.com/alpine/v3.10/community/ >> /etc/apk/repositories
RUN apk update && apk upgrade && \
    apk add  gcc g++ make && \
    addgroup -S nginx && \
    adduser -DHS -s /sbin/nologin -G nginx nginx && \
    cd /home/nginx-1.16.1 && \
    ./configure --prefix=/usr/local/nginx --with-pcre=/home/pcre-8.44 --without-http_gzip_module && \
    make && make install && \
    ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ && \
    mkdir -p /usr/local/nginx/conf/vhost/
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]

3.构建镜像,镜像名称为nginx:v2

[root@localhost ~]# docker build -t nginx:v2 .
Successfully built 8b58005e19e2
Successfully tagged nginx:v2

4.运行容器

[root@localhost ~]# docker run -d -p 80:80 nginx:v2
853d9df720897d0a218fe7dbf4f82579c51c0fe90c7eb3e449308757a1f8e43c
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED          STATUS          PORTS                               NAMES
bb9f76538bde   nginx:v1   "/usr/sbin/nginx -g …"   35 minutes ago   Up 35 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   liuaojie
[root@localhost ~]# 

请添加图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:48:04  更:2022-09-04 01:48:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:33:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码