Docker 經常使用命令

1. Docker 的安裝(ubuntu)

2. Docker Hub

3. 鏡像倉庫操做

3.1  docker pull : 從鏡像倉庫中拉取或者更新指定鏡像

pi@raspberrypi:~ $ sudo docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
4471275a8ba0: Pull complete 
5237e132a11f: Pull complete 
130e9bf920a8: Pull complete 
2ec82554e9e7: Pull complete 
014902bb4456: Pull complete 
Digest: sha256:3f119dc0737f57f704ebecac8a6d8477b0f6ca1ca0332c7ee1395ed2c6a82be7
Status: Downloaded newer image for ubuntu:18.04

3.2  docker image ls 列出倉庫中全部鏡像

pi@raspberrypi:~ $ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 8a3d476a03eb 3 weeks ago 91.8MB
ubuntu 18.04 538d198057ab 3 weeks ago 65.1MB
homeassistant/raspberrypi3-homeassistant 0.72.0 df8da8840c1d 8 weeks ago 1.06GBlinux

4. 容器操做

注意:鏡像倉庫僅僅是做爲image存在,
除了基本的管理之外(images,rmi,tag,build,history,save,import...),不具有運行狀態的操做(start,stop,logs,ps,cp...)

4.1 docker run 建立一個新的容器並運行一個命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:

-d: 後臺運行容器,並返回容器ID; -i: 以交互模式運行容器,一般與 -t 同時使用; -p: 端口映射,格式爲:主機(宿主)端口:容器端口 -t: 爲容器從新分配一個僞輸入終端,一般與 -i 同時使用; --name="nginx-lb": 爲容器指定一個名稱;-m :設置容器使用內存最大值;

 好比: sudo docker run -i -t ubuntu:16.04 /bin/bashnginx

pi@raspberrypi:~ $ sudo docker run -i -t ubuntu:16.04 /bin/bash
root@a163d82f7749:/# ls
bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@a163d82f7749:/# cat /proc/version 
Linux version 4.14.52-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1123 SMP Wed Jun 27 17:35:49 BST 2018
pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
a163d82f7749        ubuntu:16.04        "/bin/bash"         About a minute ago   Up About a minute                       hardcore_poincare

好比: sudo docker run -d -i -t ubuntu:16.04 /bin/bashdocker

pi@raspberrypi:~ $ sudo docker run -d -i -t ubuntu:16.04 /bin/bash
294140c698f82a25586774b8eab28ff762c6de061fba8d64965911554a1399ed
pi@raspberrypi:~ $ 
pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
294140c698f8        ubuntu:16.04        "/bin/bash"         10 seconds ago      Up 8 seconds                            quizzical_bohr

4.2 docker attach 鏈接到正在運行中的容器

好比:4.1中使用 docker run -d 進行後臺運行的容器(id: 294140c698f8),能夠經過 docker attach 鏈接ubuntu

pi@raspberrypi:~ $ sudo docker attach 294140c698f8     
root@294140c698f8:/# cat /proc/version 
Linux version 4.14.52-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1123 SMP Wed Jun 27 17:35:49 BST 2018
root@294140c698f8:/# ls
bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

4.3 docker logs 獲取容器的日誌

OPTIONS說明:

-f : 跟蹤日誌輸出

--since :顯示某個開始時間的全部日誌

-t : 顯示時間戳

好比: sudo docker logs -f 294140c698f8bash

pi@raspberrypi:~ $ sudo docker logs -f 294140c698f8
root@294140c698f8:/# 
(arg: 4) ^C          
root@294140c698f8:/# cat /proc/version 
Linux version 4.14.52-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1123 SMP Wed Jun 27 17:35:49 BST 2018
root@294140c698f8:/# ls
bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@294140c698f8:/# pwd

4.3 docker rm 刪除一個或多少容器

pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
294140c698f8        ubuntu:16.04        "/bin/bash"         11 minutes ago      Up 11 minutes                           quizzical_bohr
pi@raspberrypi:~ $ sudo docker rm -f 294140c698f8
294140c698f8
pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
相關文章
相關標籤/搜索