1. 程式人生 > 其它 >第一本Docker書--第五章踩坑

第一本Docker書--第五章踩坑

技術標籤:dockerdockerdebug

最近在看虛擬化技術,《第一本docker書》作為入門書籍是非常合適的,但是本書中有一些程式碼是跑不通的,特此記錄。

5.2 書中程式碼安裝ruby版本過低,造成sinatra安裝失敗

把書中Dockerfile的原始碼改為

FROM ubuntu:14.04
MAINTAINER xxx "[email protected]"
ENV REFESHED_AT 20210110

# RUN alias /bin/sh /bin/bash
RUN apt-get -yqq update && apt-get -yqq install wget curl gnupg2  libcurl3 build-essential redis-tools
RUN apt-get install -y --force-yes zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev

RUN cd /tmp
RUN wget  http://ftp.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz
RUN tar -xvzf ruby-2.6.0.tar.gz
RUN cd ruby-2.5.0/ && ./configure --prefix=/usr/local; make; make install
RUN ruby -v

RUN ln -s   /usr/local/bin/ruby /usr/bin/ruby

RUN gem install --no-rdoc --no-ri sinatra json redis

RUN mkdir -p /opt/webapp

EXPOSE 4567

CMD [ "/opt/webapp/bin/webapp" ]

5.2 Docker內部聯網 P116頁 ip a show eth0

報錯 找不到ip這個命令

docker的base映象只包含簡單的作業系統

這樣從映象拉起來的容器相當於裸機,想用這些命令必須自己裝

ps:本人為ubuntu系統

在容器中輸入

apt-get update & apt-get install -y iproute2
然後即可正常執行