内容简介:docker容器技术现在火的一塌糊涂,最近的工作刚好和这部分内容有交集,就动手搞了一下,这里记录下Docker使用的相关流程。由于我用的是mac,docker是基于linux系统,因此需要下载
docker容器技术现在火的一塌糊涂,最近的工作刚好和这部分内容有交集,就动手搞了一下,这里记录下 Docker 使用的相关流程。
安装Docker
由于我用的是mac,docker是基于 linux 系统,因此需要下载 docker desktop ,是一个mac下的app,下载后放入应用程序中就可以运行。
运行起来会后在顶部的状态栏中常驻一个小鲸鱼的小图标,点击这个图标可以进行重启,退出等操作。
这iterm2中输入docker version,能看到docker相关信息就说明docker安装成功了,可以开始你的docker之旅吧。
自定义镜像是由基础镜像和自定义环境构成。这个例子使用的基础镜像是centos,自定义环境使用 tensorflow的模型例子 https://github.com/tensorflow/models
启动一个基础镜像
docker run -it --name centos centos:latest /bin/bash
docker run命令是启动一个docker容器
-it是指交互式模式
—name是定义容器名称
centos:latest是具体的镜像名称及镜像标签,默认会先从本地的docker镜像库,本地镜像库不存在则会从docker hub上寻找
/bin/bash是交互模式运行的命令
运行完这段代码后会下载相关镜像并进入容器内部,运行/bin/bash
使用exit可以退出容器,使用-it交互模型启动的容器,退出后容器会变成退出状态。
使用docker ps可以查看正在运行的容器。由于刚刚的容器已经退出了,所以此时的列表为空。
可以使用docker ps -a查看所有的容器。
可以看到刚才运行的容器也显示出来了,状态是退出。
使用docker images可以显示本地docker仓库中的所有镜像。
由于tensorflow model需要使用juppyter来查看运行效果,因此,还需要在docker容器运行时将jupyter端口映射到外部,此外,通常还需要将宿主机的硬盘挂载到容器中,这样容器释放后数据还是会在宿主机的硬盘上,同时也可以多个docker共享数据。
让我们先删除之前的这个容器。
docker rm <容器ID>
rm后面的参数是对应的容器ID,容器ID是通过docker ps -a获得的。
如果要将相关的镜像也删除则需要使用
docker image rm <镜像ID>
让我们再重启创建一个docker容器,这次需要将jupyter的端口映射出来,同时要讲一个宿主机的目录挂载到docker中。
docker run -it --name centos_jupyter -v /Users/cloga/Documents/models/research/object_detection:/mnt -p 9999:8888 centos:latest /bin/bash
-v 是磁盘挂载,格式为宿主机的目录:docker目录
-p 是端口映射,格式为宿主机的端口:docker端口
查看一下磁盘挂载是否成功。
mnt目录存在并且内容也是宿主机上的文件。说明磁盘挂载成功了。
配置自定义的环境
要验证端口映射是不是成功需要在docker容器中安装一个jupyter并启动。jupyter notebook的安装可以参考 服务器脚本开发效率神器jupyter notebook 。
yum install -y bzip2 curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh conda install jupyter
如果你退出了刚刚的docker容器,导致容器退出,不用怕,只需要docker start,重启启动docker即可。
dokcer ps命令可以显示容器相关的信息,包括使用哪个镜像创建,创建时间,启动的时候的命令以及端口映射等。
这种情况下,或者使用docker run -d时docker是在后台运行,此时想要进入容器可以使用如下命令:
docker exec -it <容器名称> /bin/bash
跑tensorflow的物体识别的demo
启动jupyter notebook,记录下token
jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root
在浏览器打开localhost:9999,输入token后
说明jupyter启动成功,并且docker内的8888端口也成功映射到宿主机的9999端口
在后台运行jupyter
nohup jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root&
安装git,并把tensorflow models下载到本地
yum install git git clone https://github.com/tensorflow/models.git
将容器导出为容器文件
将自定义容器环境导入为docker镜像
用自定义镜像创建一个容器
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 【自定义】通过Dockerfile创建httpd镜像
- KVM镜像制作及挂载镜像文件
- 查看Docker镜像仓库中镜像的所有标签
- Vagrant 使用国内镜像安装插件和 box 镜像
- 不要轻易使用 Alpine 镜像来构建 Docker 镜像,有坑!
- Harbor 1.7 发布,在线 GC、镜像历史、镜像复制
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Algorithmic Beauty of Plants
Przemyslaw Prusinkiewicz、Aristid Lindenmayer / Springer / 1996-4-18 / USD 99.00
Now available in an affordable softcover edition, this classic in Springer's acclaimed Virtual Laboratory series is the first comprehensive account of the computer simulation of plant development. 150......一起来看看 《The Algorithmic Beauty of Plants》 这本书的介绍吧!