Docker 基本操作

基本命令

  • 啟動(dòng)容器
    $ docker run IMAGE [COMMAND] [ARG...]
    run 在新容器中執(zhí)行命令
docker@default:~$ docker run ubuntu echo 'hello world'
hello world
  • 啟動(dòng)交互式容器
    $ docker run -i -t IMAGE /bin/bash
    -i --interactive = true | flase 默認(rèn)flase
    -t --tty = true |false 默認(rèn) false
docker@default:~$ docker run ubuntu echo 'hello world'
hello world
docker@default:~$ docker run -i -t ubuntu /bin/bash
root@ac47353cb6f7:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 13:50 pts/0    00:00:00 /bin/bash
root         9     1  0 13:51 pts/0    00:00:00 ps -ef
root@ac47353cb6f7:/# exit
exit
  • 查看容器
    $ docker ps [-a] [-l]
    不帶 -a -l 參數(shù):查看運(yùn)行中的容器
    -a 查看所有容器
    -l 查看最新容器
    $ docker inspect [CONTAINER ID]/[NAMES]
docker@default:~$ docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
ac47353cb6f7        ubuntu              "/bin/bash"         2 minutes ago       Exited (0) 2 minutes ago                       mystifying_swirles

docker@default:~$ docker instect ac47353cb6f7
  • 自定義容器名NAMES
    docker run --name=自定義名 -i -t /bin/bash
  • 重新啟動(dòng)停止的容器
    docker start [-i] CONTAINER ID / NAMES
  • 刪除容器
    docker rm CONTAINER ID / NAMES

守護(hù)式容器

  • 已守護(hù)形式啟動(dòng)容器
    docker run -i -t IMAGE /bin/bash
    啟動(dòng)后通過組合鍵 ctrl P + ctrl Q退出容器虚倒,此時(shí)容器還是運(yùn)行,通過docker attach CONTAINETID / NAMES 從新進(jìn)入容器寓免。
  • 啟動(dòng)守護(hù)式容器
    docker run -d IMAGE [COMMAND] [ARG...]
  • 查看容器日志
    $docker logs [-f] [-t] [--tail] CONTAINER ID / NAMES
    -f --follows=true | false 默認(rèn)false ,持續(xù)輸出日志
    -t --timestamps=true | false 默認(rèn)false ,時(shí)間格式輸出日志
    --tail [number] 輸出日志條數(shù)
  • 查看容器進(jìn)程
    docker top CONTAINER ID / NAMES
  • 在運(yùn)行中的容器內(nèi)啟動(dòng)新進(jìn)程
    docker exec [-d] [-i] [-t] CONTAINER ID / NAMES [COMMAND][AGR...]
  • 停止守護(hù)式容器
    docker stop CONTAINER ID / NAMES
    發(fā)出通知容器停止信號(hào)狈孔,等待容器停止并返回容器名
    docker kill CONTAINER ID / NAMES
    直接停止容器返回容器名

在容器中部署靜態(tài)網(wǎng)站

  • 設(shè)置容器的端口映射
    run [-P] [-p]
    -P --publish-all = true | false 默認(rèn)false
$docker run -P -i -t ubuntu /bin/bash

-p --publish=[]
containerPort 容器端口
$docker run -p 80 -i -t ubuntu /bin/bash
hostPort:containerPort 主機(jī)端口:容器端口
$docker run -p 8080:80 -i -t ubuntu /bin/bash
ip:containerPort IP:容器端口
$docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
ip:hostPort:containerPort IP:主機(jī)端口:容器端口
$docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

  • Nginx部署流程
    • 創(chuàng)建映射80端口的交互式容器
      $ docker run -p 80 --name=web -i -t ubuntu /bin/bash
    • 安裝nginx
$ apt-get update
$ apt-get install -y nginx
  • 安裝vim
    $ apt-get install -y vim
  • 創(chuàng)建靜態(tài)頁面
$ vim /var/www/html/index.html
<html>
  <body>
    <h1>Hello World</h1>
  <body>
</html>
  • 修改Nginx配置文件
vim /etc/nginx/sites-enabled/default 
把root /var/www/html
  • 運(yùn)行Nginx
    /etc/init.d/nginx start
    通過ctrl P + ctrl Q 退出容器
docker@default:~$ docker port web
80/tcp -> 0.0.0.0:32768

可以看出容器的80端口映射到主機(jī)的32768端口

  • 驗(yàn)證網(wǎng)站訪問
docker@default:~$ curl http://127.0.0.1:32768
<html>
<body>
<h1>Hello World</h1>
<body>
</html>

查看和刪除鏡像

  • 查看鏡像
    docker image [-a] [-q] [--no-trunc] [REPOSITORY]
  • 查看鏡像詳細(xì)信息
    docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
  • 刪除鏡像
    docker rmi [-f] [--no-qrune] IMAGE[IMAGE...]

獲取和推送鏡像

  • 查找鏡像
    docker search CONTAINER
  • 拉取鏡像
    docker pull CONTAINER[:TAG]
  • 推送鏡像
    docker push NAME[:TAG]

構(gòu)建鏡像

  • 使用 commit 構(gòu)建鏡像
$ docker commit [-a] [-m] [-p] CONTAINER [REPOSITORY[:TAG]]
-a --author=''  # 作者
-m --message='' # 描述信息
-p --pause=true # 暫停容器提交
  • 使用DockerFile文件構(gòu)建鏡像
    1珠插、創(chuàng)建 DockerFile 文件
    2、使用 docker build [--force-rm] [--no-cache] [--pull] [-q] [--rm] [-t] PATH | URL 命令
docker@default:~$ mkdir -p dockerfile/df_test1
docker@default:~$ cd dockerfile/df_test1
docker@default:~/dockerfile/df_test1$ vi Dockerfile
# First dockerfile for test

FROM ubuntu:14.04
MAINTAINER weixf "709504134@qq.com"
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80

docker@default:~/dockerfile/df_test1$ docker build -t='test/df_test1' .

命令 用途
FORM base image
MAINTAINER 維護(hù)著
RUN 執(zhí)行命令
ADD 添加文件
COPY 復(fù)制文件
CMD 鏡像入口
EXPOSE 暴露端口
WORKDIR 指定路徑
ENV 設(shè)定環(huán)境變量
ENTRYPOINT 容器入口
USER 指定用戶
VOLUME mount point

共享文件夾
docker run -v 宿主機(jī)文件路徑:虛擬機(jī)文件路徑 nginx

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渣淤,一起剝皮案震驚了整個(gè)濱河市岖瑰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌砂代,老刑警劉巖蹋订,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異刻伊,居然都是意外死亡露戒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門捶箱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來智什,“玉大人,你說我怎么就攤上這事丁屎≤В” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵晨川,是天一觀的道長证九。 經(jīng)常有香客問我,道長共虑,這世上最難降的妖魔是什么愧怜? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮妈拌,結(jié)果婚禮上拥坛,老公的妹妹穿的比我還像新娘。我一直安慰自己尘分,他們只是感情好猜惋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著培愁,像睡著了一般著摔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竭钝,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天梨撞,我揣著相機(jī)與錄音雹洗,去河邊找鬼。 笑死卧波,一個(gè)胖子當(dāng)著我的面吹牛时肿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播港粱,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼螃成,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了查坪?” 一聲冷哼從身側(cè)響起寸宏,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎偿曙,沒想到半個(gè)月后氮凝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡望忆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年罩阵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片启摄。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稿壁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出歉备,到底是詐尸還是另有隱情傅是,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布蕾羊,位于F島的核電站喧笔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肚豺。R本人自食惡果不足惜溃斋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一界拦、第九天 我趴在偏房一處隱蔽的房頂上張望吸申。 院中可真熱鬧,春花似錦享甸、人聲如沸截碴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽日丹。三九已至,卻和暖如春蚯嫌,著一層夾襖步出監(jiān)牢的瞬間哲虾,已是汗流浹背丙躏。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留束凑,地道東北人晒旅。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像汪诉,于是被迫代替她去往敵國和親废恋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容