docker基本命令使用

1.docker search命令使用

#搜索是否有redis鏡像
docker search redis
#NAME表示鏡像名稱
#DESCRIPTION表示對鏡像的描述
#STARS表示收藏星星數(shù)
#OFFICIAL表示此鏡像是否是官方的
#AUTOMATED表示是否為自動(dòng)構(gòu)建的
NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redis                            Redis is an open source key-value store that…   10004     [OK]       
sameersbn/redis                                                                  83                   [OK]

2.docker pull 命令使用

#從鏡像倉庫把redis鏡像拉下來
docker pull  redis
#成功拉取下來之后,可通過docker  images查看本地的鏡像
docker images
或
docker images redis
或
docker images |grep redis

3.docker rmi命令使用

#刪除redis鏡像
docker  rmi redis

4.docker run命令使用

#創(chuàng)建并啟動(dòng)一個(gè)容器
#-p 2379:6379 表示將容器里面的6379端口映射為宿主機(jī)的2379端口
#-v /data/redis/9001/redis9001.conf:/usr/local/etc/redis/redis.conf 表示將宿主機(jī)的/data/redis/9001/redis9001.conf掛載到/usr/local/etc/redis/redis.conf
#--restart always 容器down掉后,會(huì)自動(dòng)重啟
#--name redis-test 指定容器的名稱
#-it表示容器啟動(dòng)后會(huì)進(jìn)入其命令行,與it一起使用。分配一個(gè)偽tty設(shè)備,可以支持終端登錄(對于沒有守護(hù)的進(jìn)程,在docker run的時(shí)候需要加-it參數(shù),否則啟動(dòng)后會(huì)自動(dòng)退出。比如redis和nginx等服務(wù),run了容器然后exit退出后,整個(gè)容器都會(huì)stop掉的,需要加上it參數(shù)讓容器繼續(xù)運(yùn)行)
#-d 讓容器在后臺(tái)運(yùn)行并打印容器的ID
docker run -itd -p 2379:6379 -v /data/redis/9001/redis9001.conf:/usr/local/etc/redis/redis.conf  --restart always --name redis-test redis:latest
#查看存于啟動(dòng)中的容器
docker ps
#查看所有容器(已停止,啟動(dòng)中等所有的容器)
docker ps -a
#停止一個(gè)指定容器
docker stop 容器id
#啟動(dòng)一個(gè)指定容器
docker start 容器id
#暫停一個(gè)容器
docker pause 容器id
#重啟一個(gè)容器
docker restart 容器id
#kill掉指定容器
docker kill 容器id
docker kill --signal=9

5.docker資源監(jiān)控命令使用

#查看所有容器使用服務(wù)器資源情況
docker stats
#查看指定容器內(nèi)服務(wù)的資源使用情況
docker top 容器id
#查看指定容器端口映射情況
docker port 容器id
#查看指定容器的詳細(xì)信息
docker inspect 容器id

6.docker logs 查看容器日志命令使用

docker logs --tail 500 redis-test
docker logs --tail 500 -f redis-test

#因容器產(chǎn)生的日志較多,所以需對日志大小和數(shù)量進(jìn)行配置,然后重啟下docker
#日志最大為500M,最多為3個(gè)日志文件
vim /etc/docker/daemon.json

{
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

7.宿主機(jī)和容器進(jìn)行連接

docker exec --it 容器id  /bin/bash

8.容器時(shí)間校驗(yàn)

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

9.文件復(fù)制

#將指定容器內(nèi)的文件復(fù)制到本地
docker cp 容器名:/容器目錄/文件名 /宿主機(jī)目錄/文件名
#將本地文件復(fù)制到指定容器
docker cp /宿主機(jī)目錄/文件名 容器名:/容器目錄/文件名

10.docker update 更新容器信息

#已創(chuàng)建的容器,需要修改容器啟動(dòng)的參數(shù)
#本來容器啟動(dòng)命令
docker -itd -p 36379:6379 --name my-redis redis
#更新容器端口映射
docker update -p 36379:6379 my-redis

11.docker commit 從容器創(chuàng)建一個(gè)新的鏡像

#從指定容器創(chuàng)建一個(gè)新的鏡像出來
docker commit -a "author" -m "message" container_name/container_id new_image_name:tag_name

參數(shù)說明
-a:參數(shù)可選,用于指定作者,可以寫你的名字
-m:參數(shù)可選,提交信息,可以說一下你做了哪些修改
container_id:該參數(shù)為被修改的容器ID
new_image_name:此為新鏡像的名字,可自定義
tag_name:此為新鏡像的標(biāo)簽,可不寫,不寫時(shí)標(biāo)簽?zāi)J(rèn)為latest

12.docker 網(wǎng)絡(luò)和dns配置

docker網(wǎng)絡(luò)默認(rèn)包含bridge、none、host三種類型
docker  network  ls  #查看docker上啟動(dòng)了哪些網(wǎng)絡(luò)類型

docker  run  --name  t1  -it  --network  bridge  -h  czy  --dns  114.114.114.114 --rm  centos   
#創(chuàng)建一個(gè)容器,這個(gè)容器的網(wǎng)絡(luò)為bridge網(wǎng)絡(luò), 
#--network  指定網(wǎng)絡(luò)類型    
#--rm當(dāng)退出容器時(shí),會(huì)清空容器里所有數(shù)據(jù)  
#-h  指定容器主機(jī)名,如果不指定,默認(rèn)主機(jī)名為容器id  
#--dns  指定容器dns

指定容器網(wǎng)絡(luò)段和dns
cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://scz1kw3g.mirror.aliyuncs.com"],
  "bip":"192.168.0.1/24",   #指定網(wǎng)橋IP
  "dns":["192.168.209.2","114.114.114.114"]   #指定容器dns
}
#只要指定網(wǎng)橋的ip就可以了,創(chuàng)建容器的時(shí)候,就會(huì)根據(jù)網(wǎng)橋的網(wǎng)絡(luò)段進(jìn)行IP分配的了。
#重啟下docker服務(wù)
systemctl daemon-reload
systemctl restart docker
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 參考:https://blog.csdn.net/weixin_41474332/article/details/...
    格子間的bug閱讀 330評論 0 1
  • Docker 核心技術(shù)與實(shí)現(xiàn)原理 標(biāo)簽(空格分隔): Docker 個(gè)人博客:www.i4t.com [toc] ...
    abcdocker運(yùn)維博客閱讀 2,988評論 0 4
  • 1.docker run :創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令 2.docker rm :刪除一個(gè)或多少容器 3.do...
    nora_mhy閱讀 360評論 0 0
  • 1.Docker基礎(chǔ)簡介 開源容器引擎,go語言編寫,遵循apache2.0協(xié)議開源 Docker是微服務(wù)階段產(chǎn)物...
    hadoop_a9bb閱讀 1,156評論 0 0
  • 一.簡介 容器就是將程序隔離并且打包的一個(gè)過程,其實(shí)有點(diǎn)類似虛擬機(jī),把一個(gè)應(yīng)用服務(wù)放在一個(gè)獨(dú)立的環(huán)境里來運(yùn)行 二....
    aeborah閱讀 268評論 0 0

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