Docker容器引擎的相关定义
什么是docker容器引擎
定义:
Docker是一个开源的应用容器引擎,基于Go语言,并遵从Apache2.0协议开源。 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。 容器时完全沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。 |
Docker容器引擎中相关术语的定义:
- 镜像:Docker镜像是应用于创建Docker容器的模板。
- 容器:容器时独立运行的一个或一组应用。
- Docker客户端:Docker客户端用过命令行或者其他工具使用Docker API与Docker的守护进程通信。
- Docker主机:一个物理或者虚拟的辑器用于执行Docker守护进程和容器。
- Docker仓库:Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库。
服务器的相关操作
准备工作
- 购买服务器,然后获取到公网IP,用户名,密码
后面还有几位,这里省略 |
- 使用xshell工具连接远程服务器
- 进入服务器获取超级用户权限
实际操作
- 安装docker
安装所需软件包
yum install -y yum-utils device-mapper-persistent-data lvm2 |
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo |
install容器引擎
yum install docker-ce 检查是否安装成功 docker version |
启动docker服务
systemctl start docker |
- 配置docker镜像国内源
修改或创建daemon.json文件
vim /etc/docker/daemon.json |
输入以下信息:(这里配置中科大的镜像源)
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"] } |
然后重启docker
systemctl restart docker.service |
- 镜像的拉取与使用
镜像搜索
docker search name(镜像名称) |
镜像拉取
docker pull tomcat(镜像名称) |
由镜像生成容器运行
docker run -d -p 8888:8080 --name sdk tomcat |
在主机上查看容器运行是否成功
访问地址:服务器id+8888 |
容器的静态ip的分配
ip地址的变化: docker是一个容器引擎,它里面有很多由镜像生成的容器,所以当我们不指定ip地址的时候,每当容器引擎重启的时候,它会随机的根据容器数量来顺序分配地址,如:120.0.0.0,如果由3个容器,那么三个容器的地址是120.0.0.1,120.0.0.2,120.0.0.3.但是这三个地址是随机分配到某个容器的,并不能一直是特定结果,所以我们可以指定容器的绑定的网络地址。 docker安装好后会默认有三种网络模式: bridge:网络桥接 默认情况下启动、创建容器都是用该模式,所以每次docker容器重启时会按照顺序获取对应ip地址,这就导致容器每次重启,ip都发生变化 none:无指定网络 启动容器时,可以通过–network=none,docker容器不会分配局域网ip host:主机网络 docker容器的网络会附属在主机上,两者是互通的。 可以通过以下命令进行查看当前容器的网络模式: |
创建一个新的网段:
docker network create --subnet=192.168.0.0/16 insdk 注:--subnet是网络类型,insdk是自己起的名字,192.163.0.0/16是网络分段 |
运行容器,然后把容器地址分配到这个IP上面
docker run -it --name sdktomcat--net insdk --ip 192.168.0.2 tomcat |
重启docker后,使用下面这个命令查看指定容器的ip地址
docker inspect [指定容器ip或者名字] |