国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片

Docker 備忘清單

這是 Docker 的快速參考備忘單。 你可以在這里找到最常見的 Docker 命令。

入門

入門

在后臺創(chuàng)建和運行容器

$ docker run -d -p 80:80 docker/getting-started

  • -d - 以分離模式運行容器
  • -p 80:80 - 將端口 80 映射到容器中的端口 80
  • docker/getting-started - 要使用的鏡像

在前臺創(chuàng)建并運行容器

$ docker run -it -p --rm 8001:8080 --name my-nginx nginx

  • -it - 交互式 bash 模式
  • --rm - 容器終止運行后自動刪除容器文件
  • -p 8001:8080 - 將 8001 端口映射到容器中的 8080 端口
  • --name my-nginx - 指定名稱
  • nginx - 要使用的鏡像

一般命令

ExampleDescription
docker ps列出正在運行的容器
docker ps -a列出所有容器
docker ps -s列出正在運行的容器 (帶 CPU / 內(nèi)存)
docker images列出所有鏡像
docker exec -it <container> bash連接到容器
docker logs <container>顯示容器的控制臺日志
docker stop <container>停止容器
docker restart <container>重啟一個容器
docker rm <container>移除一個容器
docker port <container>顯示容器的端口映射
docker top <container>列出進(jìn)程
docker kill <container>殺死一個容器

參數(shù) <container> 可以是容器 id 或名稱

Docker 容器

啟動和停止

DescriptionExample
docker start nginx-server開始
docker stop nginx-server停止
docker restart nginx-server重啟
docker pause nginx-server暫停
docker unpause nginx-server取消暫停
docker wait nginx-server阻塞容器
docker kill nginx-server發(fā)送 SIGKILL
docker attach nginx-server連接到現(xiàn)有容器

說明

ExampleDescription
docker ps列出正在運行的容器
docker ps -a列出所有容器
docker logs nginx-server容器日志
docker inspect nginx-server檢查容器
docker events nginx-server容器事件
docker port nginx-server公共端口
docker top nginx-server運行進(jìn)程
docker stats nginx-server容器資源使用
docker diff nginx-server列出對容器所做的更改

創(chuàng)建容器

docker create [options] IMAGE
  -a, --attach               # 附加標(biāo)準(zhǔn)輸出/錯誤
  -i, --interactive          # 附加標(biāo)準(zhǔn)輸入(交互式)
  -t, --tty                  # 偽終端 pseudo-tty
      --name NAME            # 命名你的鏡像
  -p, --publish 5000:5000    # 端口映射(主機:容器)
      --expose 5432          # 向容器公開端口 
  -P, --publish-all          # 發(fā)布所有端口
      --link container:alias # 鏈接 linking
  -v, --volume `pwd`:/app    # mount(需要絕對路徑)
  -e, --env NAME=hello       # 環(huán)境變量 env vars

實例

$ docker create --name my_redis --expose 6379 redis:3.0.2

操控

重命名容器

docker rename my-nginx nginx-server

移除容器

docker rm nginx-server

更新容器

docker update --cpu-shares 512 -m 300M nginx-server

Docker 鏡像

操控

ExampleDescription
docker images列出鏡像
docker rmi nginx刪除鏡像
docker load < ubuntu.tar.gz加載一個 tarred 存儲庫
docker load --input ubuntu.tar加載一個 tarred 存儲庫
docker save busybox > ubuntu.tar將鏡像保存到 tar 存檔
docker history顯示鏡像的歷史
docker commit nginx my_nginx將容器另存為鏡像
docker tag nginx eon01/nginx標(biāo)記鏡像
docker push eon01/nginx推送鏡像

構(gòu)建鏡像

$ docker build .
$ docker build github.com/creack/docker-firefox
$ docker build - < Dockerfile
$ docker build - < context.tar.gz
$ docker build -t eon/nginx-server .
$ docker build -f myOtherDockerfile .
$ curl example.com/remote/Dockerfile | docker build -f - .

刪除 <none> 鏡像

$ docker rmi -f $(docker images | grep "none" | awk '{print $3}')

Docker 網(wǎng)絡(luò)

操作

刪除網(wǎng)絡(luò)

docker network rm MyOverlayNetwork

列出網(wǎng)絡(luò)

docker network ls

獲取有關(guān)網(wǎng)絡(luò)的信息

docker network inspect MyOverlayNetwork

將正在運行的容器連接到網(wǎng)絡(luò)

docker network connect MyOverlayNetwork nginx

啟動時將容器連接到網(wǎng)絡(luò)

docker run -it -d --network=MyOverlayNetwork nginx

斷開容器與網(wǎng)絡(luò)的連接

docker network disconnect MyOverlayNetwork nginx

創(chuàng)建網(wǎng)絡(luò)

docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork
docker network create -d overlay \
  --subnet=192.168.0.0/16 \
  --subnet=192.170.0.0/16 \
  --gateway=192.168.0.100 \
  --gateway=192.170.0.100 \
  --ip-range=192.168.1.0/24 \
  --aux-address="my-router=192.168.1.5" \
  --aux-address="my-switch=192.168.1.6" \
  --aux-address="my-printer=192.170.1.5" \
  --aux-address="my-nas=192.170.1.6" \
  MyOverlayNetwork

各種各樣的

Docker Hub

Docker 語法說明
docker search search_word在 docker hub 中搜索鏡像。
docker pull user/image從 docker hub 下載鏡像。
docker login向 docker hub 進(jìn)行身份驗證
docker push user/image將鏡像上傳到 docker hub。

鏡像倉庫命令

登錄到鏡像倉庫

$ docker login
$ docker login localhost:8080

從鏡像倉庫注銷

$ docker logout
$ docker logout localhost:8080

搜索鏡像

$ docker search nginx
$ docker search nginx --stars=3 --no-trunc busybox

拉取鏡像

$ docker pull nginx
$ docker pull eon01/nginx localhost:5000/myadmin/nginx

推送鏡像

$ docker push eon01/nginx
$ docker push eon01/nginx localhost:5000/myadmin/nginx

批量清除

實例說明
docker stop -f $(docker ps -a -q)停止所有容器
docker rm -f $(docker ps -a -q)刪除所有容器
docker rmi -f $(docker images -q)刪除所有鏡像

卷 volume

檢查卷

$ docker volume ls

清理未使用的卷

$ docker volume prune

Docker Compose

:-:-
docker-compose up創(chuàng)建和啟動容器
docker-compose up -d以分離模式創(chuàng)建和啟動容器
docker-compose down停止和刪除容器、網(wǎng)絡(luò)、映像和卷
docker-compose logs查看容器的輸出
docker-compose restart重啟所有服務(wù)
docker-compose pull拉取所有服務(wù)的鏡像
docker-compose build構(gòu)建所有服務(wù)的鏡像
docker-compose config驗證并查看 Compose 文件
docker-compose scale <service_name>=<replica>為服務(wù)指定容器個數(shù)
docker-compose top顯示正在運行的進(jìn)程
docker-compose run -rm -p 2022:22 web bash啟動 Web 服務(wù)并運行 bash 作為其命令,刪除舊容器。

Docker Services

:-:-
docker service create <options> <image> <command>創(chuàng)建新服務(wù)
docker service inspect --pretty <service_name>顯示詳細(xì)信息服務(wù)
docker service ls列出服務(wù)
docker service ps列出服務(wù)的任務(wù)
docker service scale <service_name>=<replica>規(guī)模特殊服務(wù)
docker service update <options> <service_name>更新服務(wù)選項

Docker Stack

:-:-
docker stack ls列出此 Docker 主機上所有正在運行的應(yīng)用程序
docker stack deploy -c <composefile> <appname>運行指定的 Compose 文件
docker stack services <appname>列出與應(yīng)用關(guān)聯(lián)的服務(wù)
docker stack ps <appname>列出與應(yīng)用關(guān)聯(lián)的正在運行的容器
docker stack rm <appname>拆掉一個應(yīng)用程序

Docker Machine

:-:-
docker-machine create --driver virtualbox myvm1創(chuàng)建虛擬機(Mac、Win7、Linux)
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1Win10
docker-machine env myvm1查看有關(guān)您的節(jié)點的基本信息
docker-machine ssh myvm1 "docker node ls"列出集群中的節(jié)點
docker-machine ssh myvm1 "docker node inspect <node ID>"檢查節(jié)點
docker-machine ssh myvm1 "docker swarm join-token -q worker"查看加入令牌
docker-machine ssh myvm1打開與 VM 的 SSH 會話; 輸入“exit”結(jié)束
docker-machine ssh myvm2 "docker swarm leave"讓工人離開群體
docker-machine ssh myvm1 "docker swarm leave -f"讓主人離開,殺群
docker-machine start myvm1啟動當(dāng)前未運行的 VM
docker-machine stop $(docker-machine ls -q)停止所有正在運行的虛擬機
docker-machine rm $(docker-machine ls -q)刪除所有虛擬機及其磁盤映像
docker-machine scp docker-compose.yml myvm1:~將文件復(fù)制到節(jié)點的主目錄
docker-machine ssh myvm1 "docker stack deploy -c <file> <app>"部署應(yīng)用

docker 主要命令

:-:-
attach將本地標(biāo)準(zhǔn)輸入、輸出和錯誤流附加到正在運行的容器
build從 Dockerfile 構(gòu)建鏡像
commit從容器的更改創(chuàng)建新鏡像
cp在容器和本地文件系統(tǒng)之間復(fù)制文件/文件夾
create創(chuàng)建一個新容器
diff檢查容器文件系統(tǒng)上文件或目錄的更改
events從服務(wù)器獲取實時事件
exec在正在運行的容器中運行命令
export將容器的文件系統(tǒng)導(dǎo)出為 tar 存檔
history顯示鏡像的歷史
images列出鏡像
import從 tarball 導(dǎo)入內(nèi)容以創(chuàng)建文件系統(tǒng)映像
info顯示系統(tǒng)范圍的信息
inspect返回有關(guān) Docker 對象的低級信息
kill殺死一個或多個正在運行的容器
load從 tar 存檔或 STDIN 加載鏡像
login登錄到 Docker 注冊表
logout從 Docker 注冊表中注銷
logs獲取容器的日志
pause暫停一個或多個容器內(nèi)的所有進(jìn)程
port列出容器的端口映射或特定映射
ps列出容器
pull從注冊表中提取鏡像或存儲庫
push將鏡像或存儲庫推送到注冊表
rename重命名容器
restart重啟一個或多個容器
rm移除一個或多個容器
rmi移除一張或多張鏡像
run在新容器中運行命令
save將一個或多個鏡像保存到 tar 存檔(默認(rèn)流式傳輸?shù)?STDOUT)
searchDocker Hub 中搜索鏡像
start啟動一個或多個停止的容器
stats顯示容器資源使用統(tǒng)計的實時流
stop停止一個或多個正在運行的容器
tag創(chuàng)建一個引用 SOURCE_IMAGE 的標(biāo)記 TARGET_IMAGE
top顯示容器的運行進(jìn)程
unpause取消暫停一個或多個容器中的所有進(jìn)程
update更新一個或多個容器的配置
version顯示 Docker 版本信息
wait阻塞直到一個或多個容器停止,然后打印它們的退出代碼

docker run/create

    --add-host list            # 添加自定義主機到 IP 映射 (host:ip)
-a, --attach list              # 連接到 STDIN、STDOUT 或 STDERR
    --blkio-weight uint16      # 塊 IO(相對權(quán)重),介于 10 和 1000 之間,或 0 禁用(默認(rèn) 0)
    --blkio-weight-device list # 塊 IO 權(quán)重(相對設(shè)備權(quán)重)(默認(rèn) [])
    --cap-add list             # 添加 Linux 功能
    --cap-drop list            # 放棄 Linux 功能
    --cgroup-parent string     # 容器的可選父 cgroup
    --cgroupns string   # 要使用的 Cgroup 命名空間(主機|私有)
                        #  'host':    在 Docker 主機的 cgroup 命名空間中運行容器
                        #  'private': 在自己的私有 cgroup 命名空間中運行容器
                        #  '':        使用由守護(hù)進(jìn)程上的 
                        #        default-cgroupns-mode 選項配置的 cgroup 命名空間(默認(rèn))
    --cidfile string           # 將容器 ID 寫入文件
    --cpu-period int           # 限制 CPU CFS(完全公平調(diào)度器)周期
    --cpu-quota int            # 限制 CPU CFS(完全公平調(diào)度器)配額
    --cpu-rt-period int        # 以微秒為單位限制 CPU 實時周期
    --cpu-rt-runtime int       # 以微秒為單位限制 CPU 實時運行時間
-c, --cpu-shares int           # CPU 份額(相對權(quán)重)
    --cpus decimal             # CPU 數(shù)量
    --cpuset-cpus string       # 允許執(zhí)行的 CPU (0-3, 0,1)
    --cpuset-mems string       # 允許執(zhí)行的 MEM (0-3, 0,1)
    --device list              # 將主機設(shè)備添加到容器
    --device-cgroup-rule list  # 將規(guī)則添加到 cgroup 允許的設(shè)備列表
    --device-read-bps list     # 限制設(shè)備的讀取速率(每秒字節(jié)數(shù))(默認(rèn) [])
    --device-read-iops list    # 限制設(shè)備的讀取速率(每秒 IO)(默認(rèn) [])
    --device-write-bps list    # 限制設(shè)備的寫入速率(每秒字節(jié)數(shù))(默認(rèn) [])
    --device-write-iops list   # 限制設(shè)備的寫入速率(每秒 IO)(默認(rèn) [])
    --disable-content-trust    # 跳過鏡像驗證(默認(rèn)為 true)
    --dns list                 # 設(shè)置自定義 DNS 服務(wù)器
    --dns-option list          # 設(shè)置 DNS 選項
    --dns-search list          # 設(shè)置自定義 DNS 搜索域
    --domainname string        # 容器 NIS 域名
    --entrypoint string        # 覆蓋鏡像的默認(rèn)入口點
-e, --env list                 # 設(shè)置環(huán)境變量
    --env-file list            # 讀入環(huán)境變量文件
    --expose list              # 公開一個端口或一系列端口
    --gpus gpu-request         # 要添加到容器中的 GPU 設(shè)備(“全部”以傳遞所有 GPU)
    --group-add list           # 添加其他組以加入
    --health-cmd string        # 運行以檢查運行狀況的命令
    --health-interval duration # 運行檢查之間的時間 (ms|s|m|h) (默認(rèn) 0s)
    --health-retries int           # 需要報告不健康的連續(xù)失敗
    --health-start-period duration # 開始健康重試倒計時之前容器初始化的開始時間(ms|s|m|h)(默認(rèn) 0s)
    --health-timeout duration      # 允許運行一項檢查的最長時間 (ms|s|m|h) (默認(rèn) 0s)
    --help                     # 打印使用
-h, --hostname string          # 容器主機名
    --init                     # 在容器內(nèi)運行一個 init 來轉(zhuǎn)發(fā)信號并收獲進(jìn)程
-i, --interactive              # 即使沒有連接,也保持 STDIN 打開
    --ip string                # IPv4 地址(例如 172.30.100.104)
    --ip6 string               # IPv6 地址(例如,2001:db8::33)
    --ipc string               # 要使用的 IPC 模式
    --isolation string         # 容器隔離技術(shù)
    --kernel-memory bytes      # 內(nèi)核內(nèi)存限制
-l, --label list               # 在容器上設(shè)置元數(shù)據(jù)
    --label-file list          # 讀入以行分隔的標(biāo)簽文件
    --link list                # 添加到另一個容器的鏈接
    --link-local-ip list       # 容器 IPv4/IPv6 鏈路本地地址
    --log-driver string        # 容器的日志記錄驅(qū)動程序
    --log-opt list             # 日志驅(qū)動程序選項
    --mac-address string       # 容器 MAC 地址(例如 92:d0:c6:0a:29:33)
-m, --memory bytes             # 內(nèi)存限制
    --memory-reservation bytes # 內(nèi)存軟限制
    --memory-swap bytes        # 交換限制等于內(nèi)存加上交換:'-1' 啟用無限交換
    --memory-swappiness int    # 調(diào)整容器內(nèi)存交換(0 到 100)(默認(rèn) -1)
    --mount mount              # 將文件系統(tǒng)掛載附加到容器
    --name string              # 為容器分配名稱
    --network network          # 將容器連接到網(wǎng)絡(luò)
    --network-alias list       # 為容器添加網(wǎng)絡(luò)范圍的別名
    --no-healthcheck           # 禁用任何容器指定的 HEALTHCHECK
    --oom-kill-disable         # 禁用 OOM 殺手
    --oom-score-adj int        # 調(diào)整主機的 OOM 首選項(-1000 到 1000)
    --pid string               # 要使用的 PID 命名空間
    --pids-limit int           # 調(diào)整容器 pids 限制(設(shè)置 -1 表示無限制)
    --platform string          # 如果服務(wù)器支持多平臺,則設(shè)置平臺
    --privileged               # 授予此容器擴展權(quán)限
-p, --publish list             # 將容器的端口發(fā)布到主機
-P, --publish-all              # 將所有暴露的端口發(fā)布到隨機端口
    --pull string              # 創(chuàng)建前拉取鏡像("always"|"missing"|"never")(默認(rèn)"missing")
    --read-only                # 將容器的根文件系統(tǒng)掛載為只讀
    --restart string           # 容器退出時應(yīng)用的重啟策略(默認(rèn)“否”)
    --rm                       # 容器退出時自動移除
    --runtime string           # 用于此容器的運行時
    --security-opt list        # 安全選項
    --shm-size bytes           # /dev/shm 的大小
    --stop-signal string       # 停止容器的信號(默認(rèn)“SIGTERM”)
    --stop-timeout int         # 停止容器的超時(以秒為單位)
    --storage-opt list         # 容器的存儲驅(qū)動程序選項
    --sysctl map               # Sysctl 選項(默認(rèn) map[])
    --tmpfs list               # 掛載 tmpfs 目錄
-t, --tty                      # 分配一個偽 TTY
    --ulimit ulimit            # ulimit 選項(默認(rèn) [])
-u, --user string              # 用戶名或 UID(格式:<name|uid>[:<group|gid>])
    --userns string            # 要使用的用戶命名空間
    --uts string               # 要使用的 UTS 命名空間
-v, --volume list              # 綁定掛載卷
    --volume-driver string     # 容器的可選卷驅(qū)動程序
    --volumes-from list        # 從指定容器掛載卷
-w, --workdir string           # 容器內(nèi)的工作目錄

run/create 大部分參數(shù)一致

docker 全局參數(shù)

    --config string     # 客戶端配置文件的位置(默認(rèn)“~/.docker”)
-c, --context string    # 用于連接到守護(hù)程序的上下文的名稱(
                        # 覆蓋 DOCKER_HOST 環(huán)境變量和使用“docker context use”設(shè)置的默認(rèn)上下文)
-D, --debug             # 啟用調(diào)試模式
-H, --host list         # 要連接的守護(hù)進(jìn)程套接字
-l, --log-level string  # 設(shè)置日志級別("debug"\|"info"\|"warn"\|"error"\|"fatal") (默認(rèn)“info”)
    --tls               # 使用 TLS; 由 --tlsverify 暗示
    --tlscacert string  # 僅由該 CA 簽署的信任證書(默認(rèn)為“~/.docker/ca.pem”)
    --tlscert string    # TLS證書文件路徑(默認(rèn)“~/.docker/cert.pem”)
    --tlskey string     # TLS 密鑰文件的路徑(默認(rèn)為“~/.docker/key.pem”)
    --tlsverify         # 使用 TLS 并驗證遠(yuǎn)程
-v, --version           # 打印版本信息并退出

docker 管理命令

:-:-
docker builder管理構(gòu)建
docker buildx*Docker Buildx(Docker Inc.,v0.7.1)
docker compose*Docker Compose(Docker Inc.,v2.2.3)
docker config管理 Docker 配置
docker container管理容器
docker context管理上下文
docker image管理鏡像
docker manifest管理 Docker 鏡像清單和清單列表
docker network管理網(wǎng)絡(luò)
docker node管理 Swarm 節(jié)點
docker plugin管理插件
docker scan*Docker 掃描(Docker Inc.,v0.16.0)
docker secret管理 Docker 機密
docker service管理服務(wù)
docker stack管理 Docker 堆棧
docker swarm管理群
docker system管理 Docker
docker trust管理對 Docker 映像的信任
docker volume管理卷

docker images

-a, --all             顯示所有鏡像(默認(rèn)隱藏中間鏡像)
    --digests         顯示摘要
-f, --filter filter   根據(jù)提供的條件過濾輸出
    --format string   使用 Go 模板打印漂亮的鏡像
    --no-trunc        不要截斷輸出
-q, --quiet           僅顯示鏡像 ID

Docker 示例

Docker Web 管理工具 portainer

$ docker run -d --name portainer \
  -p 8000:8000 \
  -p 9443:9443 \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $HOME/portainer:/data \
    portainer/portainer-ee:latest

在線代碼編輯器 Code Server

$ mkdir -p ~/.config
$ docker run -it --name code-server  \
  -p 127.0.0.1:8080:8080 \
  -v "$HOME/.config/code-server:/home/coder/.config" \
  -v "$PWD:/home/coder/project" \
  -u "$(id -u):$(id -g)" \
  -e "DOCKER_USER=$USER" \
    codercom/code-server:latest

MySQL

$ docker run --name mysql \
  -p 3306:3306 \
  -v $HOME/mysql/conf.d:/etc/mysql/conf.d \
  -v $HOME/mysql/data:/var/lib/mysql \
  -v /etc/localtime:/etc/localtime:ro \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -d mysql:5.7.23

Redis

$ docker run -d --name myredis \
  -v $HOME/redis/conf:/usr/local/etc/redis \
  -v /etc/localtime:/etc/localtime:ro \
    redis redis-server /usr/local/etc/redis/redis.conf

Nginx

$ docker run --name my-nginx \ 
  -v "$HOME/nginx/nginx.conf:/etc/nginx/nginx.conf:ro" \
  -v "$HOME/nginx/html:/usr/share/nginx/html:ro" \
  -p 8080:80 \
  -d nginx

PostgreSQL

$ docker run --name my-postgres \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v $HOME/nginx/mount:/var/lib/postgresql/data \
  -d postgres

媒體管理工具 Dim

$ docker run --name my-dim \
   -p 8000:8000/tcp \
   -v $HOME/.config/dim:/opt/dim/config \
   -v $HOME/dim/media:/media:ro \
   -d ghcr.io/dusk-labs/dim:dev

Github

Gitlab

$ docker run -d --name gitlab \
  --hostname gitlab.example.com \
  --publish 8443:443 --publish 8081:80 -p 2222:22 \
  --restart always \
  --volume $HOME/gitlab/config:/etc/gitlab \
  --volume $HOME/gitlab/logs:/var/log/gitlab \
  --volume $HOME/gitlab/data:/var/opt/gitlab \
  -v /etc/localtime:/etc/localtime \
  --shm-size 256m \
    gitlab/gitlab-ce:latest