1.docker search命令使用
#搜索是否有redis鏡像
docker search redis
#NAME表示鏡像名稱
#DESCRIPTION表示對(duì)鏡像的描述
#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è)備,可以支持終端登錄(對(duì)于沒有守護(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)生的日志較多,所以需對(duì)日志大小和數(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