docker火的一塌糊涂,作为一名Noder更应该去了解,学习以及应用她了。本篇先去了解下,docker基本的概念和使用,高大上的设计lxc的我也没看懂呢。
###1 docker的核心组件
- docker server 和 docker client
- docker registory
- docker image
- docker container
###2 两个命令 我最常用的两个命令,来了解docker的情况
suntopo@suntopo-X550VX:~$ sudo docker images
[sudo] password for suntopo:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest c73a085dc378 2 weeks ago 127.1 MB
redis latest 1aa84b1b434e 2 weeks ago 182.9 MB
mongo latest 48b8b08dca4d 5 weeks ago 366.4 MB
redis <none> 0d1cbfaa41da 5 weeks ago 185 MB
hello-world latest c54a2cc56cbb 3 months ago 1.848 kB
查看本机已有的镜像
suntopo@suntopo-X550VX:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97714d985a97 ubuntu "/bin/bash" 5 days ago Exited (0) 5 days ago modest_babbage
254938ab2e20 0d1cbfaa41da "docker-entrypoint.sh" 2 weeks ago Up 4 hours 127.0.0.1:6379->6379/tcp zen_murdock
0a1a11d5263b mongo "/entrypoint.sh mongo" 3 weeks ago Up 4 hours 127.0.0.1:27017->27017/tcp berserk_ride
查看本机已有的容器
###3 如何创建一个容器
通常在创建命令的时候大部分会使用一条综合的命令
suntopo@suntopo-X550VX:~$ sudo docker run -ti ubuntu
root@435d6d16ed82:/#
但是个人更倾向于使用多条命令
下载镜像文件
由于我之前已经下载过,所以这里会有些不同
suntopo@suntopo-X550VX:~$ sudo docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:28d4c5234db8d5a634d5e621c363d900f8f241240ee0a6a978784c978fe9c737
Status: Image is up to date for ubuntu:latest
创建容器
如果不指定容器的名称,系统会默认分配一个,这是是furious_mccarthy
suntopo@suntopo-X550VX:~$ sudo docker create -ti ubuntu
fc37b091da0b3e7992ad8bebdfe741392c552cd85dd4446fa8387bc3f212694b
suntopo@suntopo-X550VX:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc37b091da0b ubuntu "/bin/bash" 48 seconds ago Created furious_mccarthy
254938ab2e20 0d1cbfaa41da "docker-entrypoint.sh" 2 weeks ago Up 4 hours 127.0.0.1:6379->6379/tcp zen_murdock
0a1a11d5263b mongo "/entrypoint.sh mongo" 3 weeks ago Up 4 hours 127.0.0.1:27017->27017/tcp berserk_ride
启动容器
suntopo@suntopo-X550VX:~$ sudo docker start furious_mccarthy
furious_mccarthy
suntopo@suntopo-X550VX:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc37b091da0b ubuntu "/bin/bash" 2 minutes ago Up 2 seconds furious_mccarthy
254938ab2e20 0d1cbfaa41da "docker-entrypoint.sh" 2 weeks ago Up 4 hours 127.0.0.1:6379->6379/tcp zen_murdock
0a1a11d5263b mongo
进入容器
suntopo@suntopo-X550VX:~$ sudo docker exec -ti furious_mccarthy /bin/bash
root@fc37b091da0b:/#
###4 删除
删除镜像时,必须要删除通过该镜像创建的容器,且删除该容器时必须要先停止容器
suntopo@suntopo-X550VX:~$ sudo docker stop furious_mccarthy
furious_mccarthy
suntopo@suntopo-X550VX:~$ sudo docker rm furious_mccarthy
furious_mccarthy
suntopo@suntopo-X550VX:~$ sudo docker rmi ubuntu
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:28d4c5234db8d5a634d5e621c363d900f8f241240ee0a6a978784c978fe9c737
Deleted: sha256:c73a085dc3782b3fd4c032971c76d6afb45fa3728a048175c8c77d7403de5f21
Deleted: sha256:d65c79a3def77c232ad966aa21efc1abdaefe84d954de3450a29254a7bc7084b
Deleted: sha256:9baff8efba34fd596f27af307d9e9c6e23b787ddef62e5357aa1fc0ae9514fbb
Deleted: sha256:15d2cdb99f73294ce72eff9c1c90b2462d4239c8b48601e1731cec6e732f986c
Deleted: sha256:ca01bb4a9b1c9d067a07919da3a94803e2851ccfbe68b74de0bd9937a10419f6
Deleted: sha256:040ba7b9591ca6c75584e37195149facf6906d98e3597a9b2d4c1e3889aff633