docker 简介与安装
Docker 是一个跨平台的开源的应用容器引擎,诞生于 2013 年初,基于 Go 语言 并遵从 Apache2.0 协议开源
刚开始学 Docker 你可以把它理解成我们以前学过的虚拟机,但是 Docke 和传统虚拟化方式 的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系 统上再运行所需应用进程;Docker 相比传统的虚拟化技术要更轻量级,Docker 容器内的应 用程序是直接运行在宿主内核中的,容器内没有自己的内核,也没有进行硬件虚拟
因此 Docker 容器要比传统虚拟机占用资源更小、系统支持量更大、启动速度更快、更容易 维护和扩展。 目前 Docker 是全栈开发者必备的技能之一。 官网: https://hub.docker.com
为什么要使用 Docker
- 开发人员利用 Docker 快速部署 调试我们的应用
- 开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作,其他机器不能正 常工作”的问题。Docker 可以提供一致的运行环境,开发过程中一个常见的问题是环境一致 性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被 发现。
- 运维人员利用 Docker 可以在隔离容器中并行运行和管理应用
- Serverless 也是基于 docker 容器技术
mac docker 安装
本地 docker 环境搭建
mac 下安装 docker: brew install docker
,或者下载安装 https://docs.docker.com/docker-for-mac/install
https://hub.docker.com 拉取镜像速度比较慢,我们推荐使用国内的镜像源访问速度较快 https://hub.daocloud.io
设置国内镜像源
{ "registry-mirrors": [ "https://register.docker-cn.com/" ], }
进入该网站 https://hub.daocloud.io
获取镜像的下载地址
docker 命令基础
docker images
查看镜像docker ps
查看启动的容器 (-a
查看全部)docker rmi 镜像 ID
删除镜像docker rm 容器 ID
删除容器docker exec -it 1a8eca716169(容器 ID:docker ps 获取) sh
进入容器内部docker inspect bf70019da487(容器 ID)
查看容器内的信息
删除 none 的镜像,要先删除镜像中的容器。要删除镜像中的容器,必须先停止容器。
$ docker rmi $(docker images | grep "none" | awk '{print $3}')
$ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') //停止容器 $ docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') //删除容器 $ docker rmi $(docker images | grep "none" | awk '{print $3}') //删除镜像
docker info
命令可以查看 Docker 容器的配置信息,包括镜像源、网络、磁盘、内存、系统等。
$ docker info Client: Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc., v0.8.2) compose: Docker Compose (Docker Inc., v2.4.1) sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0) scan: Docker Scan (Docker Inc., v0.17.0) Server: Containers: 3 Running: 1 Paused: 0 Stopped: 2 Images: 5 Server Version: 20.10.14 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 2 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: 3df54a852345ae127d1fa3092b95168e4a88e2f8 runc version: v1.0.3-0-gf46b6ba init version: de40ad0 Security Options: seccomp Profile: default cgroupns Kernel Version: 5.10.104-linuxkit Operating System: Docker Desktop OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 3.843GiB Name: docker-desktop ID: PLR7:VYHP:QZEW:EDCY:4EDN:K77K:M7H5:CHIG:VRZE:OD34:TACY:4MI5 Docker Root Dir: /var/lib/docker Debug Mode: false HTTP Proxy: http.docker.internal:3128 HTTPS Proxy: http.docker.internal:3128 No Proxy: hubproxy.docker.internal Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: hubproxy.docker.internal:5000 127.0.0.0/8 Registry Mirrors: https://register.docker-cn.com/ Live Restore Enabled: false
Linux 中安装 docker
安装工具包
yum install yum-utils device-mapper-persistent-data lvm2 -y
设置阿里镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 docker
yum install docker-ce docker-ce-cli containerd.io -y
启动 docker
systemctl start docker # 设为开机启动 systemctl enable docker
设置 docker 镜像源
vi /etc/docker/daemon.json
{ "registry-mirrors": [ "https://register.docker-cn.com/" ], }
后续拉取镜像直接从 https://hub.docker.com 网站拉取速度更快
重启 docker
systemctl restart docker
安装指定版本的 docker
- 要安装特定版本的 Docker Engine,请在 repo 中列出可用版本,然后选择并安装: 一种。
- 列出并排序您的存储库中可用的版本。此示例按版本号对结果进行排序,从高到低, 并被截断:
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.i o
卸载 docker
- 卸载 Docker Engine、CLI 和 Containerd 包:
$ sudo yum remove docker-ce docker-ce-cli containerd.io
- 主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
- 您必须手动删除任何已编辑的配置文件
阿里云 Docker 镜像加速器
访问 https://www.aliyun.com/ 搜索 “容器镜像服务”
您可以通过修改 daemon 配置文件 /etc/docker/daemon.json
来使用加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://l6of9ya6.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论