安装:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  1. docker images:显示镜像列表
-a 显示所以镜像
-q 只显示id
  1. docker search -f 镜像名称:搜索镜像
  2. docker rmi 镜像id:删除镜像
docker rmi -f $(docker images -aq) 删除所有镜像
  1. docker pull 镜像名称[:tag]:下载镜像
  2. docker run image:启动容器
--name="name"           容器名字
-d                      后台运行
-it                     使用交互方式,进入容器查看内容
-p                      指定端口
-p 主机端口:容器端口     端口映射
-P                      随机指定端口
-v 本地目录:容器目录     指定数据卷(数据同步)
-e                      环境配置
--net                   指定使用的网络
--restart=always        在容器已经stop掉或Docker stoped/restarted的时候才重启容器
docker run -it 容器名称 /bin/bash :启动并进入容器
列子:docker run -d --name nginx01 -p 8081:80 nginx
  1. docker ps:显示运行中的容器
-a              #显示所有包括已经停止的容器
  1. exit:退出容器
exit                    容器停止并退出
ctrl+p ctrl+q           容器不停止并退出
  1. docker rm 容器id:删除容器
-f                      强制删除
docker rm -f $(docker ps -aq) 删除所有容器
  1. 启动和停止
docker start 容器id     启动容器
docker restart 容器id   重启容器
docker stop 容器id      停止容器
docker kill 容器id      强制停止容器
  1. 后台启动容器
docker run -d 镜像名称: #没有前台应用,会自动停止
  1. docker logs:查看日志
-tf                     #显示全部和时间戳
--tail 条数             #显示指定数量                  
  1. docker top:查看进程
  2. docker inspect 容器id:查看容器信息
  3. 进入容器
docker exec -it 容器id /bin/bash    #进入容器后开启新的终端 
docker attach 容器id /bin/bash      #进入容器当前终端 
  1. 拷贝文件
docker cp 容器id:容器路径 目的主机路径      #容器内文件拷贝到主机
  1. docker stats :查看cpu状态
  2. docker commit:提交镜像成为一个新的副本
docker commit -m="提交的描述" -a="作者" 容器id 目标镜像名[:tag]
  1. 数据卷
docker run -it -v 本地目录:容器目录
匿名挂载:-v 容器目录
具名挂载:-v 卷名:容器目录
指定路径挂载:-v 本地目录:容器目录
不指定本地目录,本地目录默认为:/var/lib/docker/volumes/xxx/_data
docker volume ls                #查看数据卷
-v 容器目录:ro|rw           ro:只读,rw:读写

  1. dockerfile:通过脚本生成镜像
1. 命令
FROM                #基础镜像
MAINTAINER          #镜像作者
RUN                 #镜像构建时需要运行的命令
ADD                 #添加内容,会自动解压
WORKDIR             #镜像工作的目录
VOLUME              #挂载的目录,["主机目录:容器目录"]
EXPOSE              #配置端口映射信息
CMD                 #指定容器启动时运行的命令,只有最后一个生效,可被替代
ENTRYPOINT          #指定容器启动时运行的命令,可追加命令
ONBUILD             #当构建一个被继承dockerfile时运行的指令
COPY                #类似ADD,将文件拷贝到镜像中
ENV                 #构建时设置环境变量
2. 构建
docker build -f dockerfile文件路径 -t 镜像名[:tag] .
  1. docker history 镜像id :查看镜像构建过程
  2. 发布镜像
docker login -u 用户名              #登录dockerhub
docker push 镜像名称:tag            #推送镜像
docker tag 镜像id 镜像名称:tag      #设置镜像版本号
  1. 网络
docker network ls               #查看所有网络
docker network rm 网络名称       #删除网络
docker network connect 网络名称 容器名称        #将网络和容器联通
  1. docker network create 创建网络
--driver                #网络连接方式,默认bridge
--subnet                #子网地址,192.168.0.0/16
--gateway               #网关,192.168.0.1

docker network create --driver bridge --subnet 192.168.0.0/16  名称 #--gateway 192.168.0.1
docker network create --driver overlay docker-net
  1. docker update 容器选项 容器id:更新容器
docker update --restart=always xxx
  1. Docker Compose
1. 安装
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
3.命令
docker-compose up -d                #启动
    --build                         #重新构建
docker-compose restart              #重启
docker-compose down                 #停止
docker-compose build                #构建 
  1. docker-compose.yxml
version: "3.8"
services:
  web:
    build: .
    depends_on: //配置服务依赖
      - db
      - redis
    ports:
      - "8080:80"
  redis:
    image: redis
  db:
    image: postgres

  1. docker swarm
docker swarm init --advertise-addr 192.168.99.107   #初始化docker swarm
docker swarm join-token manager                     #创建管理节点token
docker swarm join-token worker                      #创建工作节点的token
docker node ls                                      #查看节点列表
  1. docker service
docker service create -p 8080:80 --name mynginx nginx   #创建服务
    --network=docker-net                                #指定网络,跨主机需要使用overlay网络
docker service update --replicas 数量 服务名            #增加服务副本数量 
  1. systemctl restart docker 重启
posted on 2020-07-11 14:50  喜悦如莲  阅读(83)  评论(0编辑  收藏  举报