docker 命令學(xué)習(xí)

sudo usermod -a -G docker ubuntu
解決每次docker命令都需要sudo的問題
docker run hello-world
運(yùn)行 hello-world 鏡像
docker ps
 docker ps 顯示正在運(yùn)行的鏡像, docker ps -a 顯示所有的鏡像
docker images
查看本地有哪些鏡像
docker images rm -f id
 刪除本地鏡像
docker tag id repository:tag
 修改 repository 和 tag
docker built -t repository:tag .
 build docker file 
docker run test
 run test 鏡像,停止后(ctrl-c, docker stop),在此docker run test 會報 已經(jīng)有一個 test container的錯誤,可以使用 docker start test, 如果想 docker run test, 可以先 docker rm -f test 刪除容器就可以了
docker stop test
 啟動一個容器
docker start test
 啟動 stop 的容器, 未run的容器 無法start
docker rm -f test
 刪除容器 test
docker stop `docker ps -qa`
停止所有容器
docker rm `docker ps -qa`
 刪除所有 stop 的image
docker images | grep none | xargs docker image rm
 刪除 所有 none images
docker logs likun_vp0_1 -f
 查看指定容器的日志

DOCKER FILE 指令

FROM <image>:<tag>
指定基本鏡像
    FROM <image>
    FROM <image>:<tag>
    FROM <image>:<digest>
ENV abc=hello
指定環(huán)境變量

ENV abc=hello
ENV abc=bye def=$abc
ENV ghi=$abc

abc = bye, def = hello, ghi = bye
RUN
 images build 時用的指令,在old image 基礎(chǔ)上構(gòu)建new image,通常用來 更新系統(tǒng),安裝軟件等

RUN apt-get update && apt-get install -y \
bzr
cvs
git
mercurial
subversion

CMD
docker start 后的命令,如果有多條,只有最后一條被執(zhí)行,可以被 docker run 的 command 覆蓋
ENTRYPOINT
 docker start 后的命令, shell 模式會覆蓋任意的 cmd, docker run comand, exec 模式可以配合 CMD 附加的那種模式進(jìn)行 默認(rèn)參數(shù)設(shè)定
exec, shell 模式區(qū)別
exec: <instruction> ["executable", "param1", "param2", ...] 
       直接執(zhí)行二進(jìn)制文件,不會打開shell,所以環(huán)境變量得不到
shell : <instruction> <command>
       會從 shell中執(zhí)行,可以得到環(huán)境變量
addition:  ENTRYPOINT 和 RUN 都只有 exec, shell 兩種模式, 
           cmd有另外一種附加模式,可以用來配合 ENTRYPOINT 的
           exec模式進(jìn)行有默認(rèn)參數(shù)的設(shè)定
LABEL
LABEL multi.label1="value1" multi.label2="value2" other="value3"

可使用docker inspect 查看,管理工具可通過label對container進(jìn)行管理
MAINTAINER
不推薦使用,推薦使用 label 代替
LABEL maintainer "SvenDowideit@home.org.au"
EXPOSE
對外暴露端口,可使用 -p 參數(shù), network 等功能代替
ENV
設(shè)置環(huán)境變量
ADD
two forms
. ADD src dst
. ADD ["src", "dst"] (this form is required for paths containing whitespace)

 支持 *  ? 等match模式, dst / 絕對路徑, xx/ 相對路徑,相對于workdir 
COPY
. COPY <src>... <dest>
. COPY ["<src>",... "<dest>"] (this form is required for paths containing whitespace)

add 相對于copy 多2點(diǎn)功能
1. ADD 的<src>可以為URL
2. ADD 到container的tar文件會被自動解壓,并刪除原tar文件。
VOLUME
目錄掛載,可使用-v參數(shù),docker-compose 配置 等方式代替
WORKDIR
指定工作目錄
USER
設(shè)定容器 用戶 uid 等

network

docker network ls
查看網(wǎng)絡(luò)
docker network inspect bridge
 查看 使用 bridge 網(wǎng)絡(luò)的容器
docker inspect --format='{{json .NetworkSettings.Networks}}' db
查看 db 容器的網(wǎng)絡(luò)情況
docker network create -d bridge my-bridge-network
 使用 bridge 創(chuàng)建一個新的網(wǎng)絡(luò) my-bridge-network
docker run -d --net=my-bridge-network --name db training/postgres

--net 指定使用那個網(wǎng)絡(luò)

docker network connect my-bridge-network web
web 容器加入 my-bridge-network 網(wǎng)絡(luò)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,728評論 0 120
  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,510評論 0 27
  • 五、Docker 端口映射 無論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪問不到的。此外,除了...
    R_X閱讀 1,954評論 0 7
  • 注:原文地址:http://severalnines.com/blog/mysql-docker-containe...
    空亂木閱讀 6,149評論 0 7
  • The raindrop whispered to the jasmine, "Keep me in your h...
    我是嗚嗚閱讀 605評論 0 1

友情鏈接更多精彩內(nèi)容