一,Docker简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
用过虚拟机的应该对虚拟化技术有点印象,不知道也没关系,就把它当成轻量级的虚拟机吧(虽然一个是完全虚拟化,一个是操作系统层虚拟化)
具体的学习网址如下:
https://www.runoob.com/docker/docker-tutorial.html
二,安装Docker
1.查看内核版本:
sudo uname -a
我是虚拟机装的rocky,linux 5.14 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos6.5的版本就可以试试)
2.把apt包更新到最新(如果更新过就跳过这步)
先检查
sudo apt update
后更新
sudo apt upgrade
(期间要选择确认,输入 y 即可)
如果不行可以:sudo apt upgrade --fix-missing
3.卸载旧版本(如果是第一次安装跳过这一步):
sudo apt remove docker docker-engine docker.io containerd runc
4.安装需要的包:
sudo apt install apt-transport-https ca-certificates software-properties-common curl
(期间要选择确认,输入 y 即可)
5.添加 GPG 密钥,并添加 Docker-ce 软件源
(为了速度用的:中国科技大学的 Docker-ce 源)
添加密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
验证密钥:通过搜索指纹的后8个字符,验证现在是否拥有带有指纹的密钥
sudo apt-key fingerprint 0EBFCD88
添加源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
#注意:添加错了可以用以下命令删除
#查询keyid,下图
sudo apt-key list
#keyid 就是90那一串
sudo apt-key del <keyid>
#加参数-r可以移除
sudo add-apt-repository -r "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
6,安装Docker
sudo apt install docker-ce
(期间要选择确认,输入 y 即可)
7, 检查docker 版本:
sudo docker version
8.重启机器,检查是否实现开机启动docker
sudo docker images
如果报错,请重新启动 docker 并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
9.重新对应一下 docker 的镜像地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
10 .测试 docker
sudo docker run hello-world
11.docker 基本命令
- 查看版本: docker -v
2. 查看镜像: docker images
3. 搜索镜像:docker search 镜像关键字
4. 镜像拉取:docker pull 镜像关键字
5. 镜像删除:docker rmi 镜像id或镜像名称
(rmi后加空格加-f表示强制删除)
- 镜像变成容器:
docker run -d -p 8080:8080 --name tomcat-test tomcat
-d 后台运行
8080:8080 端口映射
--name tomcat-test 设置容器的名字
tomcat 使用的镜像名字
- 查询当前全部的容器:docker ps -a
如果去掉-a的话就是查询运行的容器
- 删除容器:docker rm 容器id
(rm后加空格加-f表示强制删除)
- 进入容器内部:docker exec -it 容器id /bin/bash
10. 停止容器:docker stop 容器id/容器名字
11. 启动容器:docker start 容器id/容器名字
12. 显示容器资源的使用情况: docker stats -a
如果去掉-a的话就是查询运行的容器
CONTAINER ID 与 NAME: 容器 ID 与名称。
CPU % 与 MEM %: 容器使用的 CPU 和内存的百分比。
MEM USAGE / LIMIT: 容器正在使用的总内存,以及允许使用的内存总量。
NET I/O: 容器通过其网络接口发送和接收的数据量。
BLOCK I/O: 容器从主机上的块设备读取和写入的数据量。
PIDs: 容器创建的进程或线程数。
Ctrl + C 退出