1. 程式人生 > >2-docker簡單使用(執行nginx容器)

2-docker簡單使用(執行nginx容器)

1:看Docker版本資訊 docker version
2:搜尋可用的Nginx映象 官方有一個網址專門存放映象 https://hub.docker.com/explore/ 也可以用命令來搜尋可用的映象 docker search nginx
3:docker命令來下載Nginx映象 docker pull (類似git命令) 在docker映象索引網站上,映象名稱都是按照 使用者名稱/映象名的方式來儲存的 有一組比較特殊的映象 比如nginx的基礎映象,經過官方確認可以直接映象名來查詢到 我們來下載nginx映象 docker pull nginx
如果是其它使用者底下的映象一定寫全稱 如:docker pull mack/nginx
4:檢視docker裡面有多少映象 docker images [[email protected] ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest da5939581ac8 3 weeks ago 108MB hello-world latest 05a3bd381fc2 3 weeks ago 1.84kB [
[email protected]
~]#
5:docker執行nginx映象 docker run -p 8080:80 --name nginx_web -it nginx /bin/bash -p 8080:80 是指主機的8080指向的映象的80埠 --name 容器名稱 -it 哪個映象進入bash環境 [[email protected] ~]# docker run -p 8080:80 --name nginx_web -it nginx /bin/bash 啟動nginx
[email protected]:/# nginx-------------------(該環境就是容器的bash環境)
6:退出容器 退出容器 Ctrl+p+q
7:訪問測試
8:檢視執行中的映象 docker ps [[email protected] ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4b5c52c8adca nginx "/bin/bash" 5 minutes ago Up 4 minutes 0.0.0.0:8080->80/tcp nginx_web [[email protected] ~]# 9:檢視所有映象的資訊 docker ps -a -a 引數是執行或未執行的容器都顯示出來, 下面的images hello-world 是我測試的時候執行的, 未執行 -a 引數就可以顯示 [[email protected] ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4b5c52c8adca nginx "/bin/bash" 8 minutes ago Up 8 minutes 0.0.0.0:8080->80/tcp nginx_web b6aa600a318b hello-world "/hello" About an hour ago Exited (0) About an hour ago condescending_snyder
10:檢視容器更詳細的資訊 docker inspect ID (ID可以頭幾位就可以) 如: docker inspect 4b5c52c8adca docker inspect 4b5c 兩條命令結果 是一樣的
11:終止容器 docker stop [NAME]/[CONTAINER ID]:將容器退出。 docker kill [NAME]/[CONTAINER ID]:強制停止一個容器。
docker stop nginx_web
12:docker stop nginx_web 在次訪問Nginx
13:在次docker ps (-a) 看nginx_web是否還在執行 [[email protected] ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [[email protected] ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4b5c52c8adca nginx "/bin/bash" 12 minutes ago Exited (0) 54 seconds ago nginx_web b6aa600a318b hello-world "/hello" About an hour ago Exited (0) About an hour ago condescending_snyder
14:我們在次啟動容器 nginx_web docker start 4b5c52 進入容器啟動nginx docker exec -it 4b5c52c8adca /bin/bash [[email protected] ~]# docker exec -it 4b5c /bin/bash [email protected]:/# nginx
15:啟動nginx_web 再次訪問Nginx

16:Docker rm ID 刪除容器 hello-world (nginx 後面還要使用 先刪除測試的hello-world容器) 檢視所有容器 [[email protected] ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4b5c52c8adca nginx "/bin/bash" 14 minutes ago Exited (0) 3 minutes ago nginx_web b6aa600a318b hello-world "/hello" About an hour ago Exited (0) About an hour ago condescending_snyder 刪除其中一個 [[email protected] ~]# docker rm b6aa600 b6aa600 在次檢視所有容器 [[email protected] ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4b5c52c8adca nginx "/bin/bash" 14 minutes ago Exited (0) 3 minutes ago nginx_web [[email protected] ~]#
一次性全部刪除所有容器 (不推薦使用) docker本身沒有提供一次性刪除操作,但是可以使用如下命令實現: docker rm 'docker ps -a -q':-a標誌列出所有容器,-q標誌只列出容器的ID,然後傳遞給rm命令,依次刪除容器

17:刪除映象 docker rmi imagesid 查詢所有映象 [[email protected] ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest da5939581ac8 3 weeks ago 108MB hello-world latest 05a3bd381fc2 3 weeks ago 1.84kB 刪除其中一個 [[email protected] ~]# docker rmi 05a3 Untagged: hello-world:latest Untagged: [email protected]:b2ba691d8aac9e5ac3644c0788e3d3823f9e97f757f01d2ddc6eb5458df9d801 Deleted: sha256:05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37 Deleted: sha256:3a36971a9f14df69f90891bf24dc2b9ed9c2d20959b624eab41bbf126272a023 在次查詢所有映象 [[email protected] ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest da5939581ac8 3 weeks ago 108MB [[email protected] ~]#
18:修改容器儲存 docker commit id 比如我們在容器裡面安裝了一些軟體 。想儲存該容器 用該命令docker commit id 檢視容器 [[email protected] ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4b5c52c8adca da5939581ac8 "/bin/bash" 30 minutes ago Up 10 minutes 0.0.0.0:8080->80/tcp nginx_web 提交修改容器 [[email protected] ~]# docker commit 4b5c nginx sha256:1628545933abb78ef12f5e0566395e79173444eeb7cd4e072805e93af88f7a84 檢視映象 latest就是最後提交的怎麼本 image id 也會不一樣 created 建立時間 在6S以前 [[email protected] ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 1628545933ab 6 seconds ago 108MB <none> <none> 1717b3a9873b 53 seconds ago 108MB nginx <none> da5939581ac8 3 weeks ago 108MB