docker 学习, import tar 文件后,如何启动进入容器

2015-04-27 14:06:33 +08:00
 sunhk25
先前,弄了两个学习用image下载后,通过Dockerfile利用以下命令
docker build -t tutum/lamp .
docker run -d -p 80:80 -p 3306:3306 tutum/lamp
可以顺利启动并进入容器。
现在有一个项目的docker tar文件,想import后,进入容器
tar -c . | docker import - test_image
成功后,无法启动和进入容器,
docker run -d -p 80:80 -p 3305:3305 test_image:latest
不指定命令》》 No command specified
指定路径和命令》》 exec: "/bin/ls": stat /bin/ls: no such file or directory
查看tar根目录下有个startup.sh 》》 exec: "startup.sh": executable file not found in $PATH
问题出在哪。
3991 次点击
所在节点    Docker
10 条回复
sunhk25
2015-04-27 14:09:38 +08:00
# docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.3.3
Git commit (client): a8a31ef/1.5.0
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.3.3
Git commit (server): a8a31ef/1.5.0

# docker info
Containers: 14
Images: 89
Storage Driver: devicemapper
Pool Name: docker-253:0-264219-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 6.659 GB
Data Space Total: 107.4 GB
Metadata Space Used: 7.434 MB
Metadata Space Total: 2.147 GB
Udev Sync Supported: true
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Kernel Version: 2.6.32-504.16.2.el6.x86_64
Operating System: <unknown>
CPUs: 1
Total Memory: 1.436 GiB
Name: v1env
ID: YYBJ:54SJ:LYZM:V6E3:UF4P:HGFB:A7PC:IT7Z:645G:O6XB:GAO4:XADU
jokester
2015-04-27 14:14:38 +08:00
tar -c不是创建tar吗? 你确定是在 (b) import (/b) 一个tar?
sunhk25
2015-04-27 14:36:07 +08:00
@jokester
是的,我确实是想从tar里导入image。
https://docs.docker.com/reference/commandline/cli/
Import from a local directory:
$ sudo tar -c . | sudo docker import - exampleimagedir
jokester
2015-04-27 14:43:17 +08:00
@sunhk25
顶楼的话我理解为”现在(已经)有一个项目的docker tar文件"

`tar -c | docker import` 这个命令做的事情是把当前目录的内容做成一个新的tar 然后导入成image
从已有tar文件导入的例子是"Import from a local file"
sunhk25
2015-04-27 15:08:32 +08:00
@jokester
好的,我Import tar成功 docker images也可以看到。
问题是不知如何run起来这个容器,
jokester
2015-04-27 15:22:19 +08:00
"成功"不是docker import没报错
是这个新image确实包含了你想要import的内容
如果不包含 折腾run的意义在哪
sunhk25
2015-04-28 09:57:13 +08:00
@jokester
谢谢,我之前的写法不对
cat centos-65.tar.xz | docker import - local/centos:6.5
改成这样就可以了。
jokester
2015-04-28 12:37:20 +08:00
不要只口头谢呀 给钱呀
sunhk25
2015-04-28 15:31:19 +08:00
能给的都给你了
jokester
2015-04-28 15:49:25 +08:00
大爷 常来呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/186679

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX