首先 什么是docker:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
docker安装:
环境:centos7
uname -r
查看内核版本
yum update
更新yum源
yum remove docker docker-common docker-selinux docker-engin
卸载之前的docker(如果没安装过可跳过)
yum install -y yum-utils device-mapper-persistent-data lvm2
安装软件包安装yum-utils,它提供一个yum-config-manager单元,同时安装的device-mapper-persistent-data和lvm2用于储存设备映射(devicemapper)必须的两个软件包。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加docker的yum源
yum install docker-ce
安装docker
systemctl start docker
开启docker服务
systemctl enable docker
开机自启
到此docker安装完成
如果安装出现问题可以尝试查看修改deamon文件
systemctl daemon-reload
service docker restart
初试docker
docker pull nginx
docker pull拉取docker hub镜像
docker images nginx
查看镜像
docker run --name nginx-test -d -p 8081:80 nginx
启动nginx容器
–name 为容器设置一个名字
-d 后台运行
-p 端口进行映射,将本地8081端口映射到容器内部的80端口(:左侧是本地端口 右侧是容器内端口)
-P 容器内部端口随机映射到主机的高端口
docker create --name myubuntu -it ubuntu:16.04 /bin/bash
create创建容器
docker start myubuntu
开启容器
docker exec -it 6b(容器id) /bin/bash
交互式进入容器
docker ps
查看容器运行
docker port nginx-test
查看网络端口
docker top nginx-test
查看应用程序容器的进程
docker logs -f nginx-test
查看应用程序日志
docker instpect nginx-test
检查应用程序-docker inspect 返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
docker stop nginx-test
关闭容器
docker start nginx-test
启动容器
docker restart nginx-test
重启容器
docker rm nginx-test
移除容器(关闭状态 run)
docker cp b51c:/etc/nginx/nginx.conf ~/nginx/conf
拷贝容器内的nginx文件
docker run -d -p 8082:80 --name nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx b51
-v将冒号左边挂到右边容器内 创建映射