Docker基本命令與使用 —— Docker容器(一)
阿新 • • 發佈:2017-06-02
使用 -a 基本 com sta start 日誌 靜態頁面 don
(使用shell腳本,當任務執行完,守護式容器依舊會停止)
一.容器的基本操作
1. 啟動容器
docker run IMAGE [COMMAND] [ARG...]
run 在新容器中執行命令
eg: docker run ubuntu echo ‘Hello World‘ 輸出內容的同時,啟動的容器已經停止,這是一個實行單次命令的容器2. 啟動交互式容器
docker run -i -t IMAGE /bin/bash
-i --interactive=true|false 默認是false
-t --tty=true|false 默認是false eg:docker run -i -t ubuntu /bin/bash ps -ef exit(退出)
3.查看容器
docker ps [-a][-l] 默認顯示正在運行中的容器
-a 列出所有的容器
-l 列出最新創建的容器$ docker inspect [容器id/容器Name]
4.自定義容器名
docker run --name=自定義名 -i -t IMAGE /bin/bash
eg: docker run --name=container01 -i -t ubuntu /bin/bash
5.重新啟動停止的容器
docker start [-i] 容器名(-i已交互的方式)
eg: docker start -i container01
6.刪除停止的容器
docker rm 容器名/id (只能刪除停止的容器)
二.守護式容器
1.以守護形式運行容器
什麽是守護式容器? 長期運行的容器,沒有交互式的會話,適合應用程序運行docker run -i -t IMAGE /bin/bash Ctrl+P Ctrl+Q (後臺運行) docker ps 可以查看到正在運行的容器
2.附加到運行中的容器
docker attach 容器名/id
3.啟動守護式容器
docker run -d 鏡像名 [COMMAND][ARG...]
eg: $ docker run --name dc1 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
4. 查看容器日誌
docker logs [-f] [-t] [--tail] 容器名
-f --follows=true|false 默認為false (一直跟蹤日誌的變化,並返回結果)
-t --timestamps=true}false 默認為false (在返回的結果上加上時間戳) --tail="all" (返回的結尾處多少數量的日誌,不指定則返回所有的日誌) eg: docker logs -tf --tail 10 dc1 docker logs -tf --tail 0 dc1 (tail 0 只顯示最新的日誌)5.查看容器內進程
docker top 容器名
6.在運行中的容器內啟動新進程
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...] (與run命令相似)
7.停止守護式容器
docker stop 容器名 (會等待容器的停止) docker kill 容器名 (直接停止容器)
8.使用Docker幫助文件
man docker-run man docker-logs man docker-top man docker-exec ...
三.在容器中部署靜態站點
1.設置容器的端口映射
run [P] [p] -P, --publish-all=true|false 默認為false 為容器暴露的所有端口進行映射 eg: docker run -P -i -t ubuntu /bin/bash -p, --publish=[] 能夠制定映射容器的哪些端口- containerPort 只制定容器的端口,宿主機的端口隨機映射
- hostPort:containerPort 同時制定宿主機端口和容器端口,一一對應
- ip::containerPort
- ip:hostPort:containerPort
2.Nginx部署流程
- 創建映射80端口的交互式容器
- 安裝Nginx
- 安裝文本編輯器vim
- 創建靜態頁面
- 修改Nginx配置文件
- 運行Nginx
- 驗證網站訪問
docker run -p 80 --name web -i -t ubuntu /bin/bash apt-get install -y nginx apt-get install -y vim mkdir -p /var/www/html cd /var/www/html vim index.html
<html> <head> <title>Nginx in docker</title> </head> <body> <h1>Hello, I‘m website in docker!</h1> </body> </html>
whereis nginx vim /etc/nginx/sites-enabled/default 修改root 的值為靜態網站根目錄(/var/www/html) cd / 返回根目錄 nginx 運行nginx ps -ef 查看nginx進程
Ctrl+P Ctrl+Q 退出
docker ps 查看容器映射的端口 docker port web 查看容器端口映射情況 docker top web 查看容器中進程運行的情況- 通過宿主機的ip地址查看
- 通過容器的ip地址查看
Docker基本命令與使用 —— Docker容器(一)