liunx 安装docker 以及docker 命令
Ubuntu Docker 安装 | 菜鸟教程 (runoob.com)
CentOS Docker 安装 | 菜鸟教程 (runoob.com)
为了避免每次都切换特权身份 把 特权用户 加入自动创建docker 组
查看 当前用户名 liunx windows 通用
whoami
docker 加入 当前用户名组
sudo usermod -aG docker USER_NAME



如果 只要其中某一项
docker inspect -f {{".Architecture"}} d62dbaef1b81


注意安装后要设置docker 开机启动
systemctl enable docker
systemctl start docker


#开机启动
systemctl enable docker
# 启动docker
systemctl start docker
# 停止dokcer
systemctl stop docker
# 查看docker状态
systemctl status docker
# 重启docker
systemctl restart docker
# 设置docker 开机自启
systemctl ebable docker
# 查看docker 版本
docker version
# 查看docker 镜像
docker images
# 查看docker 运行列表
docker ps
# 查看docker (运行、停止)
docker ps -aq
# 删除容器
docker rm -f 容器ID/容器名称(CONTAINER ID/NAMES)
# 删除多个容器(空格隔开)
docker rm -f 容器ID/容器名称 容器ID/容器名称 ...
# 删除全部容器
docker rm -f $(docker ps -aq)
# 删除全部镜像
docker rmi -f $(docker images -q)
设置容器自启
1. 创建容器时设置:
docker run -d --restart=always --name 容器名称 镜像名称
# 例如:
docker run --restart=always 56f0b18af626
2. 更新已有容器设置:
docker update --restart=always 容器ID
# 例如:
docker update --restart=always 655fdf0bgf
docker 登陆到 hub.docker.com
docker login

退出登陆
docker logout

列出所有镜像
docker images 或者 docker image ls
添加标签
格式 docker tag [source源 ] [target目标]
docker tag nginx:latest mynginx:latest

查看docker镜像详情
docker [镜像] inspect

搜索镜像
docker search nginx
删除镜像
docker rmi [镜像id] 或者 docker image rm
清理镜像
docker 运行一段时间会残留一些 临时镜像 和没有被使用的镜像 可以用下面的命令删除
docker image prune -f
创建镜像有 基于本地镜像创建 本地模板创建 dockerfile 创建
镜像导出导入
-o 是 -output 意思
docker save -o nginx.tar nginx
载入镜像
-i 是 -input 的意思
docker load -i nginx.tar
上传镜像
docker push nginx
创建容器
-it
-i 标准输入
-t 分配一个伪终端
-d 后台运行容器
docker create -it nginx
启动容器
docker start nginx
新建并且启动容器
docker run nginx
启动容器 并且 进入到容器
docker run -it nginx /bin/bash

启动容器 并且后台 守护态 运行
docker run -d nginx
查看容器日志
docker logs fc1e73926e6a

暂停容器
docker pause fc1e73926e6a
停止容器
docker stop fc1e73926e6a
进入容器 容器必须是启动状态
docker exec -it fc1e73926e6a /bin/bash
删除容器
docker rm fc1e73926e6a
导出容器
docker export [容器id] -o [导出地址]
docker export fc1e73926e6a -o /home/admin1/testimport/myningx.tar

导入容器
这是通过导出的容器 生成的压缩文件 然后又导入生成的镜像
docker import /home/admin1/testimport/myningx.tar test/mynginx:v1.0

查看容器的进程的信息
docker top fc1e73926e6a

查看容器的 cup使用率
docker stats fc1e73926e6a

将服务器的文件夹 复制到容器内的文件
fc1e73926e6a:/tmp/ [容器id]:[容器内的文件]
docker cp /home/admin1/testimport/test/ fc1e73926e6a:/tmp/
查看 容器 刚刚复制的文件夹变化
docker container diff fc1e73926e6a

查看端口映射
docker container port fc1e73926e6a
更新容器配置
docker update --cpu-quota 1000000 fc1e73926e6a

搭建私有库

两个地址 一个是100 一个是196 在196上执行
docker run -d -p 5000:5000 -v /home/admin1/testimport/private/:/var/lib/registry registry:2
意思就是在196上创建一个私有库 监听的端口为5000

接下来 在100机器上 传 镜像到196上了
先 搞个标签 tag 他的语法是 docker tag [本地镜像例如nginx] [私有库的ip例如192.168.0.196 ]:[私有库监听的端口例如 5000]/[为nginx起个新名称]
docker tag nginx 192.168.0.196:5000/testnginx
弄完标签后
上传到私有库中
docker push 192.168.0.196:5000/testnginx
接下来可能会报错
Get "https://192.168.0.196:5000/v2/": http: server gave HTTP response to HTTPS client

解决
vim /etc/docker/daemon.json
添加
"insecure-registries":["192.168.0.196:5000"],

重启docker服务
systemctl daemon-reload
systemctl restart docker
继续上传 docker tag nginx 192.168.0.196:5000/testnginx

成功
查看私有库的 镜像
curl -XGET http://192.168.0.196:5000/v2/_catalog

下载远程仓库的镜像 docker pull [仓库的ip]:[仓库的端口] / [镜像名称]
docker pull 192.168.0.196:5000/testnginx
删除私有库镜像比较麻烦
浙公网安备 33010602011771号