一、Docker容器简介
1、Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
2、Docker之父Solomon Hykes说:Docker就好比传统的货运集装箱,Docker是管理容器的引擎,为应用打包、部署平台,而非单纯的虚拟化技术。容器不需要提前封装虚拟机,而是共享宿主机,可以理解为宿主机上的一个进程。
3、docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。容器是由镜像实例化而来,也可以说镜像是文件, 容器是进程。 容器是基于镜像创建的, 即容器中的进程依赖于镜像中的文件, 这里的文件包括进程运行所需要的可执行文件, 依赖软件, 库文件, 配置文件等
1、传统虚拟化技术与Docker容器技术对比
2、容器的工作原理
3、Docker安装
在真机上将虚拟机所需要的docker-ce(社区版)安装包放到Apache发布目录下
server1配置docker软件仓库,安装docker-ce
[docker]
name=docker
baseurl=http://172.25.173.250/docker/20/
gpgcheck=0
yum -y install docker-ce
开启服务,并开机自启;
docker info : 显示 Docker 系统信息,包括镜像和容器数 ,正常启动如下
docker info : 显示 Docker 系统信息,包括镜像和容器数
如果出现两个网络错误
解决方式如下,编辑/etc/sysctl.d目录下的docker.conf 文件,写入两条语句;
系统会从/usr/lib/sysctl.d/.conf 和 /etc/sysctl.d/.conf 加载应用系统配置;
手动加载所有的配置文件,执行: sysctl --system
[root@server1 sysctl.d]# cd /etc/sysctl.d
[root@server1 sysctl.d]# vim docker.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
[root@server1 sysctl.d]# sysctl --system
3.测试
拉取仓库中的游戏
[root@server1 ~]# docker images ##查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
yakexi007/mario latest 9a35a9e43e8c 6 years ago 198MB
[root@server1 ~]# docker run -d --name demo -p 8080:8080 yakexi007/mario ##使用镜像创建
81cdbbc2c30f87c315015e84ccfcfe37ca9758e0a4ed751992a2fc51c9417aee
[root@server1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
81cdbbc2c30f yakexi007/mario "python3 -m http.ser…" 10 seconds ago Up 9 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp demo
浏览器输入172.25.173.1:8080就可以愉快一下
二、Docker中的命令
导入镜像:
docker load -i game2048
运行容器:
docker run -d --name game1 -p 80:80 game2048
docker tab键补齐可以查看命令
attach diff info node rm stats version
build events inspect pause rmi stop volume
builder exec kill plugin run swarm wait
commit export load port save system
config help login ps search tag
container history logout pull secret top
context image logs push service trust
cp images manifest rename stack unpause
create import network restart start update
docker images docker镜像查看
docker ps 查看启动的镜像服务
docker ps -a 查看所有的镜像服务