docker是个类似虚拟机的东西,但是比虚拟机好用,更轻量级。而且可以直接使用系统硬件,比如gpu。在很多时候,如果有一个docker image,可以省去很多配置环境,安装依赖包等的繁琐工作。
docker的简单教程: http://www.runoob.com/docker/ubuntu-docker-install.html
本文介绍一下在ubuntu 14.04下docker的安装和使用
Docker 支持以下的 Ubuntu 版本: Ubuntu Precise 12.04 (LTS) Ubuntu Trusty 14.04 (LTS) Ubuntu Wily 15.10 其他更新的版本……
Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。 通过 uname -r 命令查看你当前的内核版本
uname -r使用脚本安装 Docker:
wget -qO- https://get.docker.com/ | sh输入当前用户的密码后,就会下载脚本并且安装Docker及依赖包。
安装完成后有个提示:
If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker runoob Remember that you will have to log out and back in for this to take effect!当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker xxx 命令,然后重新登陆,否则会有如下报错,xxx为非root用户用户名。如果不执行以上命令,在使用docker时,请加sudo。
启动docker 后台服务:
sudo service docker start测试运行hello-world
docker run hello-world也可以按照官方文档进行安装,不过过程较为繁琐: https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/
列出本地镜像
sudo docker images ituring@T7610:~/Download$ sudo docker images [sudo] password for ituring: REPOSITORY TAG IMAGE ID CREATED SIZE tensorflow/tensorflow latest 02f42dc11beb 12 days ago 1.17GB tensorflow/tensorflow latest-gpu a1afa03550aa 12 days ago 2.89GB hello-world latest 1815c82652c0 3 weeks ago 1.84kB bamos/openface latest 7e537bef9341 4 weeks ago 2.54GB kaixhin/cuda-caffe 8.0 f8f286d16016 2 months ago 3.5GB以上是我本地的镜像
如果要使用hello-world镜像来运行容器时,命令如下:
ituring@T7610:~/Download$ sudo docker run -t -i bamos/openface /bin/bash root@8a016d290da7:/#看到用户已经从ituriing变为root了。
1.查看docker id
sudo docker ps -s CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE c667e21b5a23 bamos/openface "/bin/bash" 9 minutes ago Up 9 minutes 0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp festive_lalande 28.1kB (virtual 2.54GB)c667e21b5a23就是CONTAINER ID。
从主机拷贝文件到容器:
sudo docker cp /home/ituring/Download/ituring.tar.gz ceed456b5d23:/root/openface/images从容器拷贝文件到主机:
sudo docker cp ceed456b5d23:/root/openface/nohup.out /home/ituring/Download参考这篇博客; http://blog.csdn.net/fancivez/article/details/51374609
docker删除容器的命令是rm,删除镜像的命令是rmi
要删除镜像,必须先删除它对应的容器,删除容器前需要停止该容器。
先使用以下命令查看容器和镜像id
sudo docker ps -a得到
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 117843ade696 ed9c93747fe1 /bin/sh -c /usr/sbin 46 hours ago Up 46 hours 0.0.0.0:49153->22/tcp test_sshd可以看出ed9c93747fe1的image被117843ade696的container使用着,所以必须首先删除该container
sudo docker stop 117843ade696删除容器
sudo docker rm 117843ade696删除镜像
sudo docker rmi ed9c93747fe1得到
Deleted: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af Deleted: c8a0c19429daf73074040a14e527ad5734e70363c644f18c6815388b63eedc9b Deleted: 95dba4c468f0e53e5f1e5d76b8581d6740aab9f59141f783f8e263ccd7cf2a8e Deleted: c25dc743e40af6858c34375d450851bd606a70ace5d04e231a7fcc6d2ea23cc1 Deleted: 20562f5714a5ce764845119399ef75e652e23135cd5c54265ff8218b61ccbd33 Deleted: c8af1dc23af7a7aea0c25ba9b28bdee68caa8866f056e4f2aa2a5fa1bcb12693 Deleted: 38fdb2c5432e08ec6121f8dbb17e1fde17d5db4c1f149a9b702785dbf7b0f3be Deleted: 79ca14274c80ac1df1333b89b2a41c0e0e3b91cd1b267b31bef852ceab3b2044删除成功
非常好的docker教程: https://github.com/yeasy/docker_practice