1. 程式人生 > 實用技巧 >Mac上使用docker安裝centos

Mac上使用docker安裝centos

查詢centos

docker search centos
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   6169                [OK]

下載官方映象

docker pull centos
Using default
tag: latest latest: Pulling from library/centos 3c72a8ed6814: Pull complete Digest: sha256:76d24f3ba3317fa945743bb3746fbaf3a0b752f10b10376960de01da70685fbd Status: Downloaded newer image for centos:latest docker.io/library/centos:latest

檢視本地映象

docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
centos                   latest              0d120b6ccaa8        
3 weeks ago 215MB docker/getting-started latest 3c156928aeec 4 months ago 24.8MB

啟動映象

docker run -t -i centos /bin/bash
[root@e004eb1cfe65 /]# pwd
/
[root@e004eb1cfe65 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
啟動後會進入centos的偽終端中,終於進入到熟悉的世界了,啥都不說了,開搞。一頓操作之後,關閉了終端,再然後???!!!。。。

如果退出偽終端後,想再進入怎麼辦?

不能再執行"docker run -t -i centos /bin/bash",這樣實際上是運行了一個新的【容器】,裡面沒有我們之前安裝配置的東西。 應當使用docker ps -a檢視所有容器,找到自己之前執行的容器,並使用docker start <容器ID>啟動容器,並使用docker exec -it <容器ID> /bin/bash啟動偽終端,這樣會回到了安裝配置過的環境中了。 如果想清理掉沒用的容器,可以使用docker rm <容器ID>,如果容器正在執行會報錯,需要使用docker stop <容器ID>先把容器停掉。

docker 引數

引數 完整表示 描述
-i --interactive(互動的) Keep STDIN open even if not attached 以互動模式執行容器,通常與 -t 同時使用;
-t --tty(Teletypes, 虛擬控制檯) Allocate a pseudo-TTY 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
-d --detach(使...分開;掙脫) Run container in background and print container ID 後臺執行容器,並返回容器ID;

使用docker ps檢視執行中的容器

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
1b3d7578dafc        centos              "/bin/bash"         37 minutes ago      Up 6 minutes                            reverent_engelbart
d980f2c46e0a        centos              "/bin/bash"         46 minutes ago      Up 5 minutes                            reverent_driscoll
e004eb1cfe65        centos              "/bin/bash"         2 hours ago         Up 3 minutes                            goofy_hawking

使用docker ps -a檢視所有容器

CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                     PORTS                NAMES
1b3d7578dafc        centos                   "/bin/bash"              38 minutes ago      Up 8 minutes                                    reverent_engelbart
d980f2c46e0a        centos                   "/bin/bash"              47 minutes ago      Up 6 minutes                                    reverent_driscoll
e004eb1cfe65        centos                   "/bin/bash"              2 hours ago         Up 4 minutes                                    goofy_hawking
841c705b8f4f        docker/getting-started   "nginx -g 'daemon of…"   3 months ago        Exited (255) 3 weeks ago   0.0.0.0:80->80/tcp   festive_gates

使用docker start <CONTAINER ID>啟動容器

docker start d980f2c46e0a d980f2c46e0a

使用docker exec -it <CONTAINER ID> /bin/bash在容器啟動終端

docker exec -it e004eb1cfe65 /bin/bash [root@e004eb1cfe65 /]#

使用docker commit <CONTAINER ID> <REPOSITORY>建立映象

docker commit e004eb1cfe65 centos-dev