LoginSignup
15
14

More than 5 years have passed since last update.

Docker+Ubuntu+Swiftをやってみる

Last updated at Posted at 2016-05-02

環境

今回はこの環境でやっていきます

  • Mac OSX 10.11.3 El Capitan
  • Ubuntu 15.10
  • Swift 2.2.1

Dockerをインストール

Docker-ToolboxをインストールすることでDockerに必要なものをすべてインストールできます

正しくインストールできたか、確認してみます

$ docker-machine --version

バージョンが出ればOKです

Docker-machineを起動する

$ docker-machine start
$ docker --version

これでDockerが使えるようになります

DockerをいじってubuntuをDL

今回はubuntu15.10を使いますので、DockerHubにあるか確認して、imageをDLしてきます

$ docker run -it ubuntu:15.10 /bin/bash

このコマンドでubuntu 15.10をDLしてdocker上でubuntuを動かせます
コマンドの「ubuntu:15.10」ですが、「ubuntu」がimage名、「15.10」がタグ名です
「ubuntu:14.04」とすればubuntu14.04をDLできます

$ exit

でubuntuからログアウトできます

Swiftをインストール

swift.orgを確認しましょう
現時点(2016/5/2)で最新Releaseのswift2.2.1をインストールします

それではやっていきましょう!
※実際にはここの手順を踏んでいます

$ docker run -it ubuntu:15.10 /bin/bash

$ apt-get update
$ apt-get install wget
$ apt-get install clang libicu-dev
$ wget https://swift.org/builds/swift-2.2.1-release/ubuntu1510/swift-2.2.1-RELEASE/swift-2.2.1-RELEASE-ubuntu15.10.tar.gz
$ wget https://swift.org/builds/swift-2.2.1-release/ubuntu1510/swift-2.2.1-RELEASE/swift-2.2.1-RELEASE-ubuntu15.10.tar.gz.sig

$ wget -q -O - https://swift.org/keys/all-keys.asc | gpg --import -
$ gpg --keyserver hkp://pool.sks-keyservers.net --refresh-keys Swift
$ gpg --verify swift-2.2.1-RELEASE-ubuntu15.10.tar.gz.sig

$ tar xzf swift-2.2.1-RELEASE-ubuntu15.10.tar.gz
$ export PATH=/swift-2.2.1-RELEASE-ubuntu15.10/usr/bin/:"${PATH}"
$ swift --version

swifのバージョンが出力されればOKです!
(PATHはbash_profileに書いてしまってもOKです)

swiftを動かしてみましょう!
が、しかし!!

$ swift
/swift-2.2.1-RELEASE-ubuntu15.10/usr/bin/lldb: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

このように出てしまうので、ここの手順にはありませんが、以下をインストールしてswiftを動かしてみます

$ apt-get install libpython2.7
$ swift
/swift-2.2.1-RELEASE-ubuntu15.10/usr/bin/lldb: error while loading shared libraries: libxml2.so.2: cannot open shared object file: No such file or directory

これでいけるかとおもいきや同じようなエラーが出てしまいます。
これもインストールしてswiftを動かしましょう

$ apt-get install libxml2
$ swift
error: failed to launch REPL process: process launch failed: 'A' packet returned an error: 8

またエラーです。。。issueが解決済みなのでそれどおりやってみます

まずはdocker上のubuntuからログアウトしてコミットしてしまいましょう

$ exit
$ docker ps -as
$ docker commit xxxxxxxxxxxx ubuntu:swift-test

commitは[コンテナID] [保存名]です
コミットしたイメージを下記オプションを付けてコンテナ化します

$ docker run -it --privileged ubuntu:swift-test /bin/bash
$ export PATH=/swift-2.2.1-RELEASE-ubuntu15.10/usr/bin/:"${PATH}"
$ swift

動いた!!!
swiftは対話式でコードが書けるので、試しにいろいろやってください
ヘルプは「:help」、終了は「:exit」です

以上です。dockerのバグなんですかね?
少し厄介でした。

15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14