docker在mac上配置并建立后台容器

来源:互联网 发布:手机装修画图软件 编辑:程序博客网 时间:2024/05/17 22:53

1. 首先需要去官网上下载并安装docker 

https://docs.docker.com/mac/step_one/

步骤很简单。

2. 启动docker 

启动docker有多种方法,可以在launchpad里用quickstart terminal。

也可以在命令行里使用

 eval $(docker-machine env default)

从而将docker启动起来


3. 下载镜像

这里我为了跑tensorflow用的 tensorflow官方教程中提供的一个镜像。

docker run -it b.gcr.io/tensorflow/tensorflow

如果翻墙了,用以上命令就可以自动下载镜像并存在本地

但是注意,这里面的镜像环境很不全,是ubuntu系统。

如果翻不了墙  就只好下载一个了  http://7xlgth.com1.z0.glb.clouddn.com/tensorflow.tar

然后使用

docker load < ~/Downloads/tensorflow.tar  进行导入

4.  使用镜像

docker run -it b.gcr.io/tensorflow/tensorflow 即可进入镜像

但是exit再进入,镜像就会恢复原貌, 所以进行改动如果想保存就必须使用docker commit 

如docker commit d54a97f5ccf1  b.gcr.io/tensorflow/tensorflow

中间的16进制字符串 是容器ID 

可以用docker ps 看到


5. 建立后台运行的镜像

如果光使用docker run -it 这样的方式运行镜像,会有一个问题

我们要是一不小心exit了,工作就白做了,每次退出前都得去commit也挺麻烦

所以需要建立一个后台一直运行的镜像

首先需要给自己的镜像装好ssh

1)、启动一个docker容器

# docker run -t -i b.gcr.io/tensorflow/tensorflow /bin/bash

2)、然后在容器里,安装openssh-server openssh-client

有的镜像里的apt-get很老,所以我们先升级apt-get

# apt-get update

# apt-get install openssh-server openssh-client

3)、完成之后,修改root密码

# passwd

4)、退出容器,并保存以上修改

# docker commit 3ea7a99a0025 mytensorflow

5

查看容器id

# docker ps -a

查看镜像列表

# docker images

6、用刚保存的镜像,后台启动一个新的容器

 docker run --name [image-name] -i -t -p 32776:22 [image-id]

例: # docker run -d -p 32776:22 mytensorflow /etc/init.d/ssh start -D

注意/etc/init.d/ssh start -D , 是保证机器能运行在后台的一个命令

看到网上有人使用了/usr/sbin/sshd  -D, 我使用了没法在后台保持运行,可能跟镜像也有关系

7ssh远程登录该容器

# ssh root@localhost -p 32776

或者使用 docker exec 

如   docker exec -it a3b9849b3929  /bin/bash

需要注意的是mac的docker是run在虚拟机里的

所以使用ssh远程登录的话,要么将虚拟机的端口映射回来,要么用docker-machine ssh default 进入虚拟机然后ssh

而docker exec的话可以不用这样,在本地也可以使用




0 0
原创粉丝点击