docker是什么 ?
docker就相当于操作系统(linux)的容器;可以理解为docker中全是操作系统;但是我们使用docker目的是以操作系统为载体去执行其中的程序这里我们可以把操作系统看作载体 docker就是这些载体的容器。
为什么需要docker?
让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。
如何安装?
在linux中下载docker
安装————>yum -y install docker
yum -y install docker
默认是没有启动的
启动————>systemctl start docker
systemctl start docker
查看已安装镜像文件
—————>docker images
在docker有镜像仓库我们可以在这里面找自己需要的镜像文件
例 : 搜寻一个centos系统
—————>docker search centos
就会出现以下:
怎么下载?
————>docker pull centos
怎么修改docker的下载私服位置
使用vi修改 /etc/docker/daemon.json 文件并添加上”registry-mirrors”: [“https://registry.docker-cn.com“],如下:
vi /etc/docker/daemon.json
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
配置完后要先使配置文件生效再重启docker
systemctl daemon-reload
systemctl restart docker
使配置文件生效————>systemctl daemon-reload
重启docker—————>service docker restart 或者 systemctl daemon-reload
怎么删除镜像文件
————>docker rmi 镜像ID
关于镜像的密令:
运行容器(产生一个容器)
————>docker run centos(镜像名)
或者
————>docker run -it centos /bin/bash (这样会进如容器中 容器会启动, 退出后容器自动关闭)
查看容器
————>docker ps -a
我的容器其实就是一个简易的操作系统 是有ip的 那怎么查看ip呢 ? 只能在我们的宿主机才能查 (容器启动后才能查看)
————>docker inspect 容器id | grep IP
启动容器(直接用docker run centos(镜像名)产生的容器是启动不了的)
————>docker start 容器ID (退出后容器不会关机)
怎么样进去容器查看
————> docker exec -it 容器id /bin/bash
怎么关闭容器
————>docker stop 容器ID
怎么删除容器
————>docker rm 容器ID
docker的官网有各种镜像的使用方法
https://hub.docker.com
安装nginx 的命令:
docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d -p 8888:80 nginx
解析:
–name 指定容器名称 (独一无二的 作用 类似于id的作用)
-v 将主机的某个目录 映射到 docker容器的某个目录 (类似于共享目录)
如范例中的将宿主的/some/content 挂载到/usr/share/nginx/html
:ro 赋予读的权限,其他权限也是可以加的
-d 在后台启动容器
-i 表示持续打开输入流 用户可以输入命令
-t 表示打开一个伪中断
–rm 运行容器 在退出后删除容器以及镜像。(一般不用)
find 从哪开始搜寻 -name 搜寻的文件名 可以查询文件 类似于搜寻功能
容器内不允许使用vi编辑 我们可以在linux编辑好 copy进去
————>docker cp 容器id或者容器名 :文件路径 拷贝在linux的哪个路径 (位置可以互换 相互copy)
端口映射
将宿主机的8888段映射到80 端口(类似于反向代理)
使用–net host 可以跟主宿机 共享端口 (推荐使用)
docker run --net host --name mynginx -v /mynginx:/usr/share/nginx/html:ro -d nginx