既然已经搭建好了Docker关于基础的命令以及使用方式我们当然要进行学习,还有一些小技巧比如批量操作镜像加速和怎么寻找合适的Docker-Images都是本节的内容
附上:
喵了个咪的博客:w-blog.cn
官方Git地址:https://github.com/moby/moby
1.Docker基本操作命令
docker容器生命周期管理
- docker run 在一个新的容器执行一个命令
- docker start 开一个或者更多已经停止的容器
- docker stop 停止一个运行的容器
- docker restart 重新开始一个运行的容器
- docker kill 杀死一个运行的容器
- docker rm 删除一个或更多的容器
- docker pause 暂停一个容器的所有进程
- docker unpaunse 恢复一个容器的所有进程
docker容器操作运维
- docker ps 列出容器
- docker inspect 列出关于容器或镜像的底层信息
- docker top 显示一个容器运行的进程
- docker attach 附上一个运行的容器
- docker events 得到实时的来自服务的事件
- docker log 获得一个容器的日志
- docker wait 阻塞直到一个容器停止,然后打印它的退出代码
- docker export 导出一个容器的文件系统作为一个tar文件
- docker port 列出容器映射的端口
docker版本管理
- docker commit 创建一个新的镜像从一个容器
- docker cp 从容器复制一个文件或目录到本地目录或标准输出
- docker diff 展示一个容器文件系统的变化
docker镜像仓库
- docker login 登入仓库
- docker pull 拉取镜像
- docker push 推送镜像
- docker search 搜索镜像
docker本地镜像管理
- docker images 列出本地的镜像
- docker rmi 删除本地的镜像
- docker tag 打标签本地的镜像
- docker build 通过Dockerfile构建本地的镜像
- docker histroy 列出镜像的历史
- docker save 保存本地的镜像为一个tar文件
- docker import 通过tar导入镜像
- docker load 加载tar镜像
docker其它命令
- docker info
- docker version
2. 小技巧
批量操作
很多时候发现可能需要清理Docker环境,但是容器挨个停止挨个删除确实太过于麻烦了,使用如下命令可以做到很快速的处理批量删除
> docker ps // 查看所有正在运行容器
> docker stop containerId // containerId 是容器的ID
> docker ps -a // 查看所有容器
> docker ps -a -q // 查看所有容器ID
> docker stop $(docker ps -a -q) // stop停止所有容器
> docker rm $(docker ps -a -q) // remove删除所有容器
> docker rmi $(docker images -a -q) // 删除所有的镜像
hub.docker
既然使用了docker,就会大量的使用别人提起处理好的环境常常我们去https://hub.docker.com/ 中寻找我们需要的镜像
搜索你需要的镜像
默认docker在拉取镜像的时候就会从hub.docker中拉取,使用如下命令就可以拉取上面第一个镜像
docker pull richarvey/nginx-php-fpm
国内镜像仓库和镜像源
国内镜像仓库可以申请一个阿里云账号直接使用它的免费Docker仓库
对应的Docker源地址需要大家去阿里云容器镜像管理中申请,获取使用其他国内Docker源(如果不配置在后续的K8S安装非常慢)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
# 重启
sudo systemctl daemon-reload
sudo systemctl restart docker
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!