Docker安装及使用

docker 安装

https://docs.docker.com/engine/install/centos/
# 移除旧程序
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 1.在线安装
# 设置repository
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# 安装最新版
sudo yum install docker-ce docker-ce-cli containerd.io
# 安装指定版本
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

# 启动
sudo systemctl start docker
# 校验
sudo docker run hello-world
#查看运行中的容器的详细信息,加-a参数能列出所有容器,包括以停止的容器
docker ps
#查看指定容器的详细信息,可以用grep或--format参数(需要一个Go模板)来过滤感兴趣的内容
docker inspect 容器名称或容器ID | grep IPAddress
docker inspect --format {{.NetworkSettings.IPAddress}} 容器名称或容器ID
#以上两条命令都能找出容器的IP地址
# docker 指定容器的运行变更
docker diff 容器名称或容器ID
# 容器内操作日志
docker logs 容器名称或容器ID
# 启动已退出容器
docker start
# 删除容器
docker rm
#清理已停止的容器,-v意味着当所有由docker管理的数据卷已经没有和任何容器关联时,都会一律删除。
docker rm -v $(docker ps -aq -f status=exited)
# 为避免已停止容器数量段增加,可以在执行docker run 的时候加上--rm参数,作用是当容器退出时,容器和相关的文件系统会被一并删掉
docker run --rm -it debian /bin/bash                           
# -it 表示想要一个附有tty的交互式会话

Docker 介绍

Docker容器使用联合文件系统,它允许多个文件系统以层级的方式挂载,并表现为一个单一的文件系统。镜像的文件系统以只读方式挂载,任何对运行中容器的改变则只会发生在它之上的可读写层。因此,Docker只需要查看最上面的可读写层,便可找出曾对运行系统所做的所有改变。当一个镜像被转化成一个容器(如通过docker run或docker create),Docker引擎会在镜像之上添加一个处于最上层的可读写文件系统(同时还会对一些配置进行初始化,如IP,名称,ID,以及资源使用限制),为避免臃肿,Dockerfile都会把多个unix命令放在同一个RUN指令中,减少层的数量。

通过Dockerfile创建镜像

Dockerfile是一个描述如何创建Docker镜像所需步骤的文本文件

  • FROM 指令指定初始镜像,所有的Dockerfile一定要有FROM指令作为第一个非注释指令
  • MAINTAINER 指令用来给镜像设定作者的联系信息
  • RUN指令指定的shell命令,是将要在镜像里执行的
  • COPY指令所做的仅仅是把一个文件从主机复制到镜像的文件系统,第一个参数是主机的文件,第二个参数是目标路径,与cp命令类似
  • ENTRYPOINT指令用来调用单独的shell脚本文件
  • VOLUMN指令类似于docker run 的-v参数,用以挂载数据卷

Docker常用命令

导出导入镜像

#导出镜像,以nginx为例
docker pull nginx:1.22.1
docker save -o C:\Users\TODD\Desktop\nginx1.22.1.tar.gz nginx:1.22.1
#导入镜像
docker load -i nginx.1.22.1.tar.gz
#移除本地原有镜像
docker rmi nginx:latest
#重打标签
docker tag nginx:1.22.1 nginx:latest
#移除冗余镜像
docker rmi nginx:1.22.1

posted @ 2021-12-04 22:03  丁生·  阅读(36)  评论(0)    收藏  举报