Dockerd的主要作用:起到一个“容器”(代码+环境)的作用,解决了软件跨环境迁移导致的版本不兼容等问题。使用沙箱机制,相互之间没有任何接口,且性能开销极低。
Docker的架构:
-
镜像(image):Docker镜像,相当于一个root文件系统。镜像相当于java中的一个类,是一个模板,一个镜像可以生成多个容器。
(镜像是一种轻量级的,可执行的独立软件包,用来打包软件运行环境和基于环境开发的软件,它包含运行某个软件的所需的所有内容,包括代码,运行时,库,环境变量和配置文件。) -
容器(container):镜像和容器的关系就像是类与对象的关系一样,镜像是静态的定义,容器是镜像运行时的实体,容器可以被创建,启动,停止,删除,暂停等。
(Docker利用容器独立运行一个或一组应用。容器时是镜像创建的运行实例。可以把容器看成一个简易版本的linux的运行环境,包括运行在里面的应用程序。Docker启动是秒级的。容器只保留了内核,把硬件,网络,打印机等不相关的统统去除了,所以运行快。) -
仓库(repository):仓库可以看成是一个代码控制中心,用来保存镜像。
Docker的安装
卸载系统自带的旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
获取软件最新源
sudo apt-get update
安装apt依赖包
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
安装几个工具软件
apt-get install ca-certificates curl gnupg lsb-release
安装GPG证书,使用阿里云的镜像源
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
下载仓库文件
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
安装docker软件
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo apt-get install docker-compose-plugin
图形化界面 Portainer
$ docker volume create portainer_data
$ docker run --name portainer
-d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock
-v portainer_data:/data portainer/portainer
打开localhost:9000
首次使用先注册。
可视化管理docker的相关资源:
设置图形化界面Portainer开机自启动后可开机直接通过浏览器localhost:9000/访问docker:
1、设置docker开机自启动
systemctl disable docker.service
2、设置Portainer对应的容器开机自启动
docker update --restart=always <CONTAINER ID>
设置自启动之后,开机即可通过浏览器访问localhost:9000/管理Dcoker中的相关资源。