7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

やってみた ← 「VagrantとDockerについて名前しか知らなかったので試した」

Last updated at Posted at 2019-08-31

こちらの記事をやってみて、躓いたところを記載します (2019.8.31)

VagrantとDockerについて名前しか知らなかったので試した

環境:Windows 10 Home
筆者:Linux詳しくありません。Vagrant, Dockerについて名前しか知りませんでした。


Vagrant
#3.1.4. VMの起動とSSHログイン

それではVMを起動してみましょう。

vagrant up

→エラーが出る。

An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

####⇒解決法:よくエラーが出るみたいなので何回かリトライする
⇒あとは、別PCでやってみた時にVirtualBoxのインストールを忘れていたくらいでした。


Docker

3.2.4. Dockerイメージのビルド

それでは、作成したコンテナを起動してみます。

vagrant@vagrant-ubuntu-trusty-64:/vagrant$ docker run -i -t -v /vagrant:/tmp/shared --name="hogehoge" hidekuro/my-bash
root@246dc5e41ffd:/#


→エラーが出る。

vagrant@vagrant-ubuntu-trusty-64:~$ docker run -i -t -v /vagrant:/tmp/shared --name="hogehoge4" cs8/my-bash
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process
caused "process_linux.go:297: copying bootstrap data to pipe caused "write init-p: broken pipe"": unknown.


⇒**検索したところ、別のカーネルをインストールすると直るとのこと**

## 解決法1 別のカーネルをインストールする

https://github.com/docker/for-linux/issues/591#issuecomment-463337254

>install 4.4 lts kernel:
>>sudo apt-get install --install-recommends linux-generic-lts-xenial
>
>reboot into the newly installed kernel.


(1.現在のカーネル確認)

vagrant@vagrant-ubuntu-trusty-64:~$ uname -a
Linux vagrant-ubuntu-trusty-64 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux


2.インストール

sudo apt-get install --install-recommends linux-generic-lts-xenial


3.再起動

vagrant@vagrant-ubuntu-trusty-64:~$ exit
PS ~\vm\hello-infra> vagrant reload


(4.操作後のカーネル確認)

vagrant@vagrant-ubuntu-trusty-64:~$ uname -a
Linux vagrant-ubuntu-trusty-64 4.4.0-148-generic #174~14.04.1-Ubuntu SMP Thu May 9 08:17:37 UTC 2019 x86_64 x86_64
x86_64 GNU/Linux



## 解決法2 別バージョンのubuntuにする

Vagrantfileを書き換え、trustyからxenialにする

(Ubuntu 16.04 LTS (Xenial Xerus))

```diff:Vagrantfile
 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
-  config.vm.box = "ubuntu/trusty64"
+  config.vm.box = "ubuntu/xenial64"
   config.vm.provider "virtualbox" do |v|
     v.customize ["modifyvm", :id, "--ostype", "Ubuntu_64"]
   end
   config.vm.provision "docker"
end

この時行った方法は、別ディレクトリにコピーして最初から始めました。(vagrant upから)
vagrant reload --provisionでできるのかは不明です。


躓いていないが、書き方を変えてみたところ

1.MAINTAINERからLABELへ

VSCodeでDockerfileを見てみると、警告が出ていました
Dockerfile

調査結果です
・Docker 1.13からMAINTAINERの使用が非推奨(deprecated)
・MAINTAINERの代わりにLABELを使う

https://qiita.com/okisanjp/items/a43068f956d273703ea8
http://docs.docker.jp/engine/userguide/labels-custom-metadata.html

書き換えました

Dockerfile
FROM ubuntu:trusty
+ LABEL maintainer="cs8"
- MAINTAINER cs8
CMD ["/bin/bash"]

さいごに

コード
https://github.com/cscs8/hello-infra
https://github.com/cscs8/hello-infra2

こちらの記事書いてくださった方、ありがとうございます。
VagrantとDockerについて名前しか知らなかったので試した

初投稿でQiitaもよくわからないため、ご意見・ご指摘どしどしお願いいたします。

7
1
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
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?