1.Docker是基于GO语言开发的。
2.Docker的架构:
docker有三个基本概念:
(1)镜像:Docker镜像相当于java中的类,
(2)容器:Docker容器相当于java中的实例,
(3)仓库:管理和保存镜像的。
docker使用客户端-服务端的CS架构,使用远程API来管理和创建Docker容器。
3.centos8 安装docker
1.下载静态二进制存档。
2.解压 tar -xzvf
3.可选:将二进制文件移到可执行路径上的目录,例如/usr/bin/。如果跳过此步骤,则在调用docker或dockerd命令时必须提供可执行文件的路径。 $ sudo cp docker/* /usr/bin/
4.启动Docker守护程序:
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://z9is4jb9.mirror.aliyuncs.com”]
}
EOF
报错:Failed to restart docker.service: Unit docker.service not found.
4.docker的帮助命令
docker --help
docker info
5.命令学习;
启动docker命令: systemctl daemon
systemctl start docker
docker images 查看本地仓库的镜像
docker search 查询远程镜像
docker pull 拉取镜像
docker inspect 命令查看详情信息
docker rmi 名字 :tag 删除镜像 记得带标签号
docker rmi $(docker images -qa) 删除本地仓库的镜像
docker ps 查看有哪些在运行的容器
docker start 启动停止的容器
启动交互容器: docker run -it
启动守护容器:docker run -d (注意:docker ps 查询不出来该容器)
原因:docker容器后台运行,就必须有一个前台进程。
退出容器方法:
1. exit 停止容器并且退出
2. ctrl+p+q 不停止容器,退出
停止容器 docker stop
强制停止容器 docker kill
直接进入容器启动终端 : docker attach
在容器中打开新的终端,并且可以启动新的进程: docker exec -it 容器ID /bin/bash
从容器内部拷贝文件到主机上 : docker cp 容器ID:路径 主机路径
复制本地镜像,生成自己的镜像docker commit -m=“提交的描述信息” -a="作者" 容器ID 要创建的目标镜像名:[标签名]
docker 容器数据卷:做数据持久化工作。数据共享。
构建自定义镜像 docker build -t name .
RUN命令与CMD命令的区别在哪里?简单说,RUN命令在 image 文件的构建阶段执行,执行结果都会打包进入 image 文件;CMD命令则是在容器启动后执行。另外,一个 Dockerfile 可以包含多个RUN命令,但是只能有一个CMD命令。