进入docker的bash
xiaoyi@xiaoyi-Rev-1-0 ~/coding $ sudo docker run -i -t django /bin/bashroot@84447118a8af:/#root@84447118a8af:/# lsbin dev home lib64 mnt proc run srv tmp varboot etc lib media opt root sbin sys usrroot@84447118a8af:/# exitexitxiaoyi@xiaoyi-Rev-1-0 ~/coding $
创建一个project,并启动django
xiaoyi@xiaoyi-Rev-1-0 ~/coding/fundxray $ sudo docker run -v $PWD:/usr/app -w /usr/app django python manage.py startproject test1xiaoyi@xiaoyi-Rev-1-0 ~/github_blog/luckpiky.github.io $ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb1057f58ce57 django "python manage.py ..." 3 seconds ago Up 2 seconds determined_knuthxiaoyi@xiaoyi-Rev-1-0 ~/github_blog/luckpiky.github.io $ sudo docker inspect 48cdb5a0cee4..."IPAddress": "172.17.0.2",...iaoyi@xiaoyi-Rev-1-0 ~/github_blog/luckpiky.github.io $ ping 172.17.0.2PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.157 ms
保存容器中修改的内容到新的镜像中
以下是windows上跑的docker:PS C:\Users\Administrator> docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos_dev latest 9e74d525d304 11 hours ago 387MBubuntu latest c9d990395902 9 days ago 113MBcentos latest e934aafc2206 2 weeks ago 199MBdocker4w/nsenter-dockerd latest cae870735e91 5 months ago 187kBPS C:\Users\Administrator> docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESe4c97441ceb1 centos_dev "/bin/bash" 11 minutes ago Up 11 minutes relaxed_ridePS C:\Users\Administrator> docker commit e4c97441ceb1 "dev2"sha256:50450538bc3948a81f5f947f285ecafd7430de9d3b76e22ae8a43c1eed0ab397PS C:\Users\Administrator>PS C:\Users\Administrator> docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdev2 latest 50450538bc39 6 seconds ago 387MBcentos_dev latest 9e74d525d304 11 hours ago 387MBubuntu latest c9d990395902 9 days ago 113MBcentos latest e934aafc2206 2 weeks ago 199MBdocker4w/nsenter-dockerd latest cae870735e91 5 months ago 187kBPS C:\Users\Administrator>
保存后的镜像,使用docker -i -t xxx启动后,原先设置的环境都还存在,比如之前制定的文件夹映射等。
删除镜像
PS C:\Users\Administrator> docker rmi dev2Untagged: dev2:latestDeleted: sha256:50450538bc3948a81f5f947f285ecafd7430de9d3b76e22ae8a43c1eed0ab397PS C:\Users\Administrator>
这里删除时,如果镜像曾经运行过,会删除失败,网上找到的说要用docker rm XXX删除对应的容器id(可以使用docker ps -L来查看之前运行过的容器记录),删除容器引用后,确实能够删除镜像了,但是多删除了一个其他镜像的引用,结果该镜像就无法运行了,不知道什么原因。
来源: https://luckpiky.github.io/docker2/#