Docker简介
产生背景
- 开发和运维之间因为环境不同而导致的矛盾
- 集群环境下每台机器部署相同的应用
- DevOps(Development and Operations)
简介
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。
安装与配置 Docker
- 安装 Docker
首先安装 Docker 必要依赖包 :
yum install -y yum-utils device-mapper-persistent-data lvm2
看到以上操作说明我们docker容器依赖已经安装完成
由于自带 yum 没有 Docker-CE 所以我们需要先增加 docker repo:
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
用 yum 安装 Docker:
yum install -y docker-ce
有人安装可能会遇到这种情况,这种情况只需耐心等待就行,这个安装过程根据你的网速来决定
直接yum安装,安装成功后查看版本
docker -v
这里我们查看版本信息发现版本19.03.1
启动docker
service docker start
设置开机启动(有需要的可以设置)
chkconfig docker on
配置 Docker
因为国内访问 Docker Hub 较慢, 可以使用腾讯云提供的国内镜像源, 加速访问 Docker Hub
依次执行以下命令
echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker systemctl daemon-reload service docker restart
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://1jd01gvs.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker 的简单操作
下载镜像
下载一个官方的 CentOS 镜像到本地
docker pull centos
下载好的镜像就会出现在镜像列表里
docker images
运行容器
这时我们可以在刚才下载的 CentOS 镜像生成的容器内操作了。
生成一个 centos 镜像为模板的容器并使用 bash shell
docker run -it centos /bin/bash
这个时候可以看到命令行的前端已经变成了 [root@(一串 hash Id)] 的形式, 这说明我们已经成功进入了 CentOS 容器。
在容器内执行任意命令, 不会影响到宿主机, 如下
mkdir -p /data/docker-file
可以看到 /data 目录下已经创建成功了 docker-file 文件夹
ls /data
退出容器
exit
查看宿主机的 /data 目录, 并没有 docker-file 文件夹, 说明容器内的操作不会影响到宿主机
ls /data
保存容器
查看所有的容器信息, 能获取容器的id
docker ps -a
然后执行如下命令,保存镜像:
docker commit -m="备注" 你的CONTAINER_ID 你的IMAGE
docker容器搭建是不是很简单,欢迎大家能静下心来阅读,如果喜欢就分享一下,感谢你的支持