jonasbn / docker-cheatset

Docker encapsulation of the cheatset command for generating Docsets for the Dash.app
https://hub.docker.com/r/jonasbn/cheatset
MIT License
5 stars 1 forks source link

Migrate from Debian to Alpine #2

Open jonasbn opened 4 years ago

jonasbn commented 4 years ago

We need to slim the Docker image, first shot at using alpine branch

 ¯\_(ツ)_/¯  [jonasbn:~/develop/github/docker-cheatset] alpine
± docker build -t jonasbn/cheatset:alpine .
Sending build context to Docker daemon  258.6kB
Step 1/4 : FROM ruby:2.6.6-alpine3.11
2.6.6-alpine3.11: Pulling from library/ruby
cbdbe7a5bc2a: Already exists
aa8ae8202b42: Already exists
b21786fe7c0d: Already exists
6fdcee3b171a: Pull complete
9f0c17609633: Pull complete
Digest: sha256:2e1e0df5b2dbefb277cfadc8cef3d19dd184153633b2981e3296a5e5dcc8e5b2
Status: Downloaded newer image for ruby:2.6.6-alpine3.11
 ---> 174df7e95528
Step 2/4 : RUN gem install cheatset
 ---> Running in 560d55fe70f9
Successfully installed unindent-1.0
Successfully installed crass-1.0.6
Successfully installed mini_portile2-2.4.0
Building native extensions. This could take a while...
ERROR:  Error installing cheatset:
    ERROR: Failed to build gem native extension.

    current directory: /usr/local/bundle/gems/nokogiri-1.10.9/ext/nokogiri
/usr/local/bin/ruby -I /usr/local/lib/ruby/2.6.0 -r ./siteconf20200606-1-qvo4i2.rb extconf.rb
checking if the C compiler accepts ... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/bin/$(RUBY_BASE_NAME)
    --help
    --clean
/usr/local/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /usr/local/lib/ruby/2.6.0/mkmf.rb:585:in `block in try_compile'
    from /usr/local/lib/ruby/2.6.0/mkmf.rb:532:in `with_werror'
    from /usr/local/lib/ruby/2.6.0/mkmf.rb:585:in `try_compile'
    from extconf.rb:138:in `nokogiri_try_compile'
    from extconf.rb:162:in `block in add_cflags'
    from /usr/local/lib/ruby/2.6.0/mkmf.rb:643:in `with_cflags'
    from extconf.rb:161:in `add_cflags'
    from extconf.rb:416:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /usr/local/bundle/extensions/x86_64-linux/2.6.0/nokogiri-1.10.9/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /usr/local/bundle/gems/nokogiri-1.10.9 for inspection.
Results logged to /usr/local/bundle/extensions/x86_64-linux/2.6.0/nokogiri-1.10.9/gem_make.out
The command '/bin/sh -c gem install cheatset' returned a non-zero code: 1