首页 > 其他 > 详细

docker使用alpine镜像

时间:2020-02-02 23:54:41      阅读:549      评论:0      收藏:0      [点我收藏+]

alpine介绍

alpine简要介绍

 Alpine 的意思是“高山的”,比如 Alpine plants高山植物,Alpine skiing高山滑雪、the alpine resort阿尔卑斯山胜地。

特点 

  1. 小巧:基于Musl libcbusybox,和busybox一样小巧,最小的Docker镜像只有5MB;

  2. 安全:面向安全的轻量发行版;

  3. 简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。

  4. 适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。

alpine镜像的使用

官方 Alpine 镜像的文档:http://gliderlabs.viewdocs.io/docker-alpine/

docker pull alpine
docker run -it --name myalpine alpine:v1

下载镜像

  1. 在线在docker官方仓库下载 仓库在国外,不好拉取镜像

 

#查看官方alpine镜像
docker search  alpine

#拉取镜像
docker  image pull  itsthenetework/nfs-server-alpine

# 导入nginx镜像(推荐使用)
docker load  -i  docker_nginx.tar.gz

  2. 离线下载 alpine-3.10下载地址 alpine-3.11下载地址

# 导入nginx镜像(推荐使用)
docker load  -i  docker_nginx.tar.gz

更新镜像源

  因为官方源在国外,我们改成国内的清华源

docker run -it -p 80:80 alpine:latest 
/ # sed -i s/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g /etc/apk/repositories 
/ # apk update

  安装nginx

/ # apk add nginx 
/ # mkdir /run/nginx
/ # nginx 

  注: 打开网页出现404原因 答:没有原因,默认配置文件默认写的就是显示404

return 404;
#替换
root /html;
index index.html;

  提交成镜像

docker commit  <alpineID>  nginx_alpine:v1 
docker run -d -p 81:80 nginx_alpine:v1 nginx -g daemon off;

alpine安装kod

  1. 启动alpine容器

docker run -it -p 80:80 alpine:v1  
/ # sed -i s/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g /etc/apk/repositories 
/ # apk update
/ # apk add nginx 
/ # mkdir /run/nginx
/ # nginx 
/ # apk add php7 php7-fpm php7-opcache php7-curl php7-gd php7-mbstring php7-mysqli php7-json php7-iconv php7-exif php7-ldap php7-pdo php7-session php7-xml

安装 rc-service

apk add openrc --no-cache

启动nginx

service nginx start
#或者rc-service nginx start

遇到问题

WARNING: nginx is already starting

 

/#  service nginx status
* You are attempting to run an openrc service on a
 * system which openrc did not boot.
 * You may be inside a chroot or you may have used
 * another initialization system to boot this system.
 * In this situation, you will get unpredictable results!
 * If you really want to do this, issue the following command:
 * touch /run/openrc/softlevel
/#  touch /run/openrc/softlevel
touch: /run/openrc/softlevel: No such file or directory
/#  mkdir -p /run/openrc
/#  touch /run/openrc/softlevel
/#  service nginx status
 * status: stopped
/#  service nginx start
 * WARNING: nginx is already starting
/#  /sbin/openrc
 * Caching service dependencies ...                                                 [ ok ]
/#  rc-service nginx start
 * /run/nginx: creating directory
 * /run/nginx: correcting owner
 * Starting nginx ...                                                               [ ok ]

启动php-fpm

vi  /etc/php7/php-fpm.d/www.conf  
所属主和所著组为nginx
/#  service php-fpm7 start
 * Checking /etc/php7/php-fpm.conf ...
 * /run/php-fpm7: creating directory
 * Starting PHP FastCGI Process Manager ...                                        [ ok ]

加入启动服务

/#  rc-update add nginx default
/#  rc-update add php-fpm7 default

安装可道云

vim  /etc/nginx/conf.d/default.conf  
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    location / {
        root /html;
        index index.php  index.html;
    include /etc/nginx/conf.d./*.conf;
    location ~ \.php$ {
        root        /html;
          fastcgi_pass    127.0.0.1:9000;
    fastcgi_index    index.php;
    fastcgi_param    SCRIPT_FILENAME    /html$fastcgi_script_name;
    include        fastcgi_params;
    }
    }
    # You may need this to prevent return 404 recursion.
    location = /404.html {
        internal;
    }
}

nginx -t

创建站点目录

mkdir /html
cd /html
wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip
chown -R nginx:nginx .
#重启nginx
service nginx restart 
service php-fpm7 restart

启动脚本文件

vim /init.sh
service nginx start
service nginx restart
service php-fpm7 start
service php-fpm7 restart 
tail -f /etc/hosts

注: 使用脚本时,nginxphp-fpm7启动一次失败,所以在这里在重启一次

提交镜像

 

 docker commit  optimistic_hermann  alpine_kod:v1 

验证镜像

docker run -d -p 80:80 alpine_kod:v1 /bin/sh /init.sh

登录网站10.0.0.12:80查看

 

docker使用alpine镜像

原文:https://www.cnblogs.com/Mercury-linux/p/12254288.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!