1、下载alpine

清华大学镜像站

alpine官网下载

2、安装alpine

以iso为例,以esxi为例

直接创建虚拟机,然后创建CD/DVD选择上传的iso镜像,然后配置一下机器cpu、内存等。启动

默认用户名root

无密码

3、配置本机hostname
#修改主机名为jenreyAlpine
echo 'jenreyAlpine' > /etc/hostname
 
#立即生效
hostname -F /etc/hostname
4、设置root密码
#设置root用户密码,会让输入两次密码,回车确认
passwd root
5、安装网卡并设置静态ip
#新建网卡配置文件
vi /etc/network/interfaces
 
#文件内容为(注意:是英文字母lo):
auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet static
 
      address 192.168.1.177
 
      netmask 255.255.255.0
 
      gateway 192.168.1.1
 
#重启网络服务
service networking restart
 
#配置DNS
vi /etc/resolv.conf
#文件内容为
nameserver 114.114.114.114
nameserver 114.114.115.115
6、开启SSH
#安装openssh-server服务器
apk add openssh-server
 
#修改配置文件 
vi /etc/ssh/sshd_config
#如果要想使用root用户远程管理,需要修改#PermitRootLogin prohibit-password参数为:
PermitRootLogin yes
 
#将ssh服务配置为开机自动启动
rc-update add sshd
 
#立刻生效
/etc/init.d/sshd restart
7、更新源
#使用 latest-stable 指向最新的稳定版本
vi /etc/apk/repositories 
#写入
https://mirrors.ustc.edu.cn/alpine/latest-stable/main
https://mirrors.ustc.edu.cn/alpine/latest-stable/community
 
#更新最新镜像源列表
apk update
8、apk相关命令总结
#更新最新镜像源列表
apk update
 
#查找所以可用软件包
apk search
#查找所以可用软件包及其描述内容
apk search -v
#通过软件包名称查找软件包
apk search -v 'acf*'
#通过描述文件查找特定的软件包
apk search -v -d 'docker' 
 
 
#安装一个软件
apk add openssh
#安装多个软件
apk add openssh openntp vim
#不使用本地镜像源缓存,相当于先执行update,再执行add
apk add --no-cache mysql-client
 
 
#列出所有已安装的软件包
apk info
#显示完整的软件包信息
apk info -a zlib
#显示指定文件属于的包
apk info --who-owns /sbin/lbu
 
 
#升级所有软件
apk upgrade
#升级指定软件
apk upgrade openssh
#升级多个软件
apk upgrade openssh openntp vim
#指定升级部分软件包
apk add --upgrade busybox 
 
#删除一个软件
apk del openssh
 
#更新系统
apk upgrade
9、Alpine Linux服务管理
alpine没有使用fedora的systemctl来进行服务管理,使用的是RC系列命令

#查看运行的服务
rc-status
#列出所有服务
rc-status -a
#查看状态的帮助
rc-status --help
 
#查看服务管理的帮助
rc-service --help
 
#添加服务
rc-update add Service名
#如添加SSHD服务:
rc-update add sshd
 
#移除服务
rc-update del Service名
 
#启用/停止/重启服务
rc-service Service名 start/stop/restart
 
#列出服务和状态
rc-status -s
#列出所有可用的服务名列表 
rc-service -l
10、设置时区
#查看时间及时区
date -R
 
#安装tzdata
apk add tzdata
#拷贝时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#指定时区
echo "Asia/Shanghai" > /etc/timezone
#移除时区文件(指定完时区就可以删除了)
apk del tzdata
11、安装ifconfig命令
apk add net-tools
12、安装vim命令
apk add vim
13、安装telnet
apt-get install  telnet
14、安装redis
#安装redis
apk add --no-cache redis
#添加redis服务
rc-update add redis default
#启动redis服务
rc-service redis start
15、安装mysql

安装

# alpine 中MySQL 用的就是MariaDB
apk add mysql mysql-client
# 或
apk add mariadb mariadb-client

配置

# 创建运行mysqld 后台进程必须的目录并赋给mysql 组和mysql 用户
mkdir -p /run/mysqld
chown -R mysql:mysql /run/mysqld

# 加载数据库文件
chown -R mysql:mysql /var/lib/mysql
mysql_install_db --user=mysql --ldata=/var/lib/mysql

检验

# 启动mysqld,注意加个& 后台运行,否则只能Ctrl+p,Ctrl+q 退出再docker exec 进来了
/usr/bin/mysqld_safe --datadir='/var/lib/mysql' &

# 设置root 密码
mysqladmin -u root password "root"

客户端检验

# 客户端登录,注意-p 后面直接跟密码不能有空格
mysql -u root -p"root"
使用内置的mysql数据库,测试SQL语句

use mysql
select count(*) from user;
exit

或者将测试内容写在一起

# 创建测试文件
cd /tmp
cat > test.sql << EOF
use mysql
select count(*) from user;
exit
EOF

# 使用管道符传给mysql 客户端执行
cat test.sql | mysql -u root -proot

为了方便脚本运行,例如定时任务自动备份,我们也可以配置~/.my.cnf

cat > ~/.my.cnf << EOF
[client]
host=localhost
port=3306
user='root'
password='root'

[mysql]
database='mysql'
EOF

以后,使用mysql,mysqldump这些命令都不需要输入用户名和密码了。

8.其它指令
$ reboot #重启系统,类似于shutdown -r now。
$ halt #关机,类似于shutdown -h now。
$ poweroff #关机
在docker中下载alpine
docker pull alpine
docker run -it alpine /bin/sh
Alpine Linux 没有内置bash,所以这里使用的sh作为伪终端,在为 Alpine Linux 编写 shell 脚本的时候也需要注意,使用 sh 而不是bash。