docker基本命令使用

1.docker search命令使用

#搜索是否有redis镜像
docker search redis
#NAME表示镜像名称
#DESCRIPTION表示对镜像的描述
#STARS表示收藏星星数
#OFFICIAL表示此镜像是否是官方的
#AUTOMATED表示是否为自动构建的
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命令使用

#创建并启动一个容器
#-p 2379:6379 表示将容器里面的6379端口映射为宿主机的2379端口
#-v /data/redis/9001/redis9001.conf:/usr/local/etc/redis/redis.conf 表示将宿主机的/data/redis/9001/redis9001.conf挂载到/usr/local/etc/redis/redis.conf
#--restart always 容器down掉后,会自动重启
#--name redis-test 指定容器的名称
#-it表示容器启动后会进入其命令行,与it一起使用。分配一个伪tty设备,可以支持终端登录(对于没有守护的进程,在docker run的时候需要加-it参数,否则启动后会自动退出。比如redis和nginx等服务,run了容器然后exit退出后,整个容器都会stop掉的,需要加上it参数让容器继续运行)
#-d 让容器在后台运行并打印容器的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
#查看存于启动中的容器
docker ps
#查看所有容器(已停止,启动中等所有的容器)
docker ps -a
#停止一个指定容器
docker stop 容器id
#启动一个指定容器
docker start 容器id
#暂停一个容器
docker pause 容器id
#重启一个容器
docker restart 容器id
#kill掉指定容器
docker kill 容器id
docker kill --signal=9

5.docker资源监控命令使用

#查看所有容器使用服务器资源情况
docker stats
#查看指定容器内服务的资源使用情况
docker top 容器id
#查看指定容器端口映射情况
docker port 容器id
#查看指定容器的详细信息
docker inspect 容器id

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

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

#因容器产生的日志较多,所以需对日志大小和数量进行配置,然后重启下docker
#日志最大为500M,最多为3个日志文件
vim /etc/docker/daemon.json

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

7.宿主机和容器进行连接

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

8.容器时间校验

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

9.文件复制

#将指定容器内的文件复制到本地
docker cp 容器名:/容器目录/文件名 /宿主机目录/文件名
#将本地文件复制到指定容器
docker cp /宿主机目录/文件名 容器名:/容器目录/文件名

10.docker update 更新容器信息

#已创建的容器,需要修改容器启动的参数
#本来容器启动命令
docker -itd -p 36379:6379 --name my-redis redis
#更新容器端口映射
docker update -p 36379:6379 my-redis

11.docker commit 从容器创建一个新的镜像

#从指定容器创建一个新的镜像出来
docker commit -a "author" -m "message" container_name/container_id new_image_name:tag_name

参数说明
-a:参数可选,用于指定作者,可以写你的名字
-m:参数可选,提交信息,可以说一下你做了哪些修改
container_id:该参数为被修改的容器ID
new_image_name:此为新镜像的名字,可自定义
tag_name:此为新镜像的标签,可不写,不写时标签默认为latest

12.docker 网络和dns配置

docker网络默认包含bridge、none、host三种类型
docker  network  ls  #查看docker上启动了哪些网络类型

docker  run  --name  t1  -it  --network  bridge  -h  czy  --dns  114.114.114.114 --rm  centos   
#创建一个容器,这个容器的网络为bridge网络, 
#--network  指定网络类型    
#--rm当退出容器时,会清空容器里所有数据  
#-h  指定容器主机名,如果不指定,默认主机名为容器id  
#--dns  指定容器dns

指定容器网络段和dns
cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://scz1kw3g.mirror.aliyuncs.com"],
  "bip":"192.168.0.1/24",   #指定网桥IP
  "dns":["192.168.209.2","114.114.114.114"]   #指定容器dns
}
#只要指定网桥的ip就可以了,创建容器的时候,就会根据网桥的网络段进行IP分配的了。
#重启下docker服务
systemctl daemon-reload
systemctl restart docker

你可能感兴趣的:(docker基本命令使用)