Docker的基本组成
- 镜像(images):镜像就是一个模板,通过这个模板创建多个容器服务。
- 容器(containers):利用容器的技术,独立运行一个或者多个应用,是通过镜像创建的(理解为一个独立的linux系统)
- 仓库(repository):存储镜像的一个地方。(包括私有的仓库和公有的仓库)
安装Docker
-linux 环境查看
#系统内核是3.10以上的
[root@localhost ~]# uname -r
3.10.0-1062.el7.x86_64
-安装docker(联网在线安装)
-
查看帮助文档
1、地址:https://docs.docker.com/get-started/overview/
2、卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3、需要的安装包
$ sudo yum install -y yum-utils
4、设置镜像的仓库
(注:官网上的镜像地址是国外的,下载非常慢,我们用阿里云的镜像地址)
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、安装docker
(注:docker-ce 社区版本 docker-ee企业版本,我们一般社区版本)
##(最新版本)
$ sudo yum install docker-ce docker-ce-cli containerd.io
##(指定的版本)
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
6、查看docker 是否安装成功
docker version
7、启动docker
$ sudo systemctl start docker
8、运行一个镜像
$ sudo docker run hello-world
9、查看hello-world 这个镜像是否存在
docker images
10、卸载docker
--卸载软件
$ sudo yum remove docker-ce docker-ce-cli containerd.io
--删除目录
$ sudo rm -rf /var/lib/docker
配置镜像加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://1vxmuxs5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker安装(离线安装)
- 下载docker离线版本
https://download.docker.com/linux/static/stable/x86_64/
选择ce版本
- 准备docker.service 系统配置文件,文件内容为以下内容
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
-
上传离线文件包docker-18.06.1-ce.tgz
-
解压
-tar -xvf docker-18.06.1-ce.tgz
-
将解压出来的docker文件内容移动到 /usr/bin/ 目录下
-cp docker/* /usr/bin/
-
将docker.service 上传到 /etc/systemd/system/ 目录下
-
启动
chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重载unit配置文件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启
- 重启docker
systemctl restart docker
- 验证
systemctl status docker #查看Docker状态
docker -v #查看Docker版本
- 离线版本卸载
'删除docker.service...'
rm -f /etc/systemd/system/docker.service
'删除docker文件...'
rm -rf /usr/bin/docker*
'重新加载配置文件'
systemctl daemon-reload
'卸载成功...'