2- Docker常用操作指南
2-1 從DockerHub上搜索你想要的Docker鏡像,比如你要搜索centos這個鏡像
- name表示鏡像的名稱
- description表示鏡像的來源
- stars表示有多少人贊了這個鏡像
- official表示這個鏡像是否官方鏡像
- automated表示這個鏡像是否自動化
# docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4702 [OK] ansible/centos7-ansible Ansible on Centos7 118 [OK] jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86… 99 [OK] consol/centos-xfce-vnc Centos container with "headless" VNC session… 63 [OK] imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 45 [OK] ......
2-2 指定好一個Docker鏡像后,從DockerHub上,下載到本地
- docker pull centos:7.4.1708 解釋:下載一個鏡像名稱為centos並且這個鏡像的標簽為7.4.1708,名稱與標簽必須和DockerHub上的保持一致
- docker image ls 解釋:查看鏡像文件docker image ls --no-trunc
- docker image ls --no-trunc 解釋:查看這個鏡像文件的完整ID編號
# docker pull centos:7.4.1708
7.4.1708: Pulling from library/centos 18b8eb7e7f01: Pull complete Digest: sha256:2a0db0b7a5163f97a12f0487c78179ab4ce53877441bba3cded5dac24fb12792 Status: Downloaded newer image for centos:7.4.1708 # docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE centos 7.4.1708 d3949e34634c 5 weeks ago 197MB # docker image ls --no-trunc REPOSITORY TAG IMAGE ID CREATED SIZE centos 7.4.1708 sha256:d3949e34634c9a234da0adb874d0c1e516dd9fa33801a3216b45157f5d1fbcf8 5 weeks ago 197MB
2-3 創建一個Docer容器並且運行起來
- docker run --name liuqi_centos-7.4 -it centos:7.4.1708 解釋:創建並且運行一個新容器,給這個新容器起個名字叫liuqi_centos-7.4,使用-it參數讓容器使用交互模式,這個容器的鏡像是centos:7.4.1708
- exit 解釋:退出當前liuqi_centos-7.4這個容器
- docker container ls -a 解釋:查看當前運行的容器有哪些,如果顯示exited,說明這個容器是未運行狀態
- docker container start -ai liuqi_centos-7.4 解釋:讓這個容器重新運行起來
# docker run --name liuqi_centos-7.4 -it centos:7.4.1708 [root@135860e4becd /]# [root@135860e4becd /]# ls anaconda-post.log etc lib64 mnt root srv usr bin home lost+found opt run sys var dev lib media proc sbin tmp [root@135860e4becd /]# exit exit [root@master-01 ~]# [root@master-01 ~]# docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 135860e4becd centos:7.4.1708 "/bin/bash" 14 minutes ago Exited (0) 4 minutes ago liuqi_centos-7.4 [root@master-01 ~]# docker container start -ai liuqi_centos-7.4 [root@135860e4becd /]# ls anaconda-post.log dev home lib64 media opt root sbin sys usr bin etc lib lost+found mnt proc run srv tmp var
2-4 正常停止一個容器和強制殺死一個容器進程
- stop 解釋:正常停止容器運行
- kill 解釋:非正常殺死一個容器進程
# docker container stop liuqi_centos-7.4 liuqi_centos-7.4 # docker container kill liuqi_centos-7.4 liuqi_centos-7.4
2-5 刪除一個Docker鏡像文件
- docker ps -a 解釋:查看要刪除的這個鏡像文件是否正在使用
- docker rm liuqi_centos-7.4 解釋:如果這個鏡像文件正在使用中時,先要刪除這個鏡像文件所依賴的容器
- docker rmi d3949e34634c 解釋:被依賴的容器被刪除了,再刪除這個鏡像文件
# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE centos 7.4.1708 d3949e34634c 5 weeks ago 197MB [root@master-01 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 135860e4becd centos:7.4.1708 "/bin/bash" 36 minutes ago Exited (137) 4 minutes ago liuqi_centos-7.4 [root@master-01 ~]# docker rm liuqi_centos-7.4 liuqi_centos-7.4 [root@master-01 ~]# docker rmi d3949e34634c Untagged: centos:7.4.1708 Untagged: centos@sha256:2a0db0b7a5163f97a12f0487c78179ab4ce53877441bba3cded5dac24fb12792 Deleted: sha256:d3949e34634c9a234da0adb874d0c1e516dd9fa33801a3216b45157f5d1fbcf8 Deleted: sha256:129b697f70e96b903f2025859be4444624b4a87394e113918a7f855e97a12ae2
2-6 實時查看容器中的日志內容和容器中的網絡詳細信息
- docker logs -ft --tail 5 liuqi_centos-7.4 解釋:實時查看liuqi_centos-7.4這個容器中最后5行的日志信息
- docker inspect liuqi_centos-7.4 解釋:查看當前容器的IP地址或容器網絡詳細信息
# docker logs -ft --tail 5 liuqi_centos-7.4 (2/4): updates/7/x86_64/primary_db | 5.2 MB 00:00:00
^C/4): base/7/x86_64/primary_db 50% [=================== ] 18 kB/s | 5.8 MB 00:05:19 ETA 2018-09-15T23:29:22.346029677Z 2018-09-15T23:29:22.346032533Z Exiting on user cancel 2018-09-15T23:29:23.627084760Z [root@45c08d7d2b39 /]# clear # docker inspect liuqi_centos-7.4 | grep "IPAddress" | tail -1
"IPAddress": "172.17.0.2",