您的位置:首页 > 运维架构 > Docker

001-docker安装【nginx、mysql】

2017-07-05 15:58 519 查看
一、

1、系统配置要求

  操作系统:64位操作系统和3.10或者更高版本的内核:uname -r

  Docker-v1.12 及更高版本

  Docker Compose-v1.8 及更高版本

2、更新系统  

yum update


3、安装

yum install docker
yum -y install epel-release
yum install python-pip
pip install docker-compose


4、基本docker命令

查看npm版本:npm -v
查看docker版本:docker version
启动:systemctl start docker.service
开机启动:systemctl enable docker.service
帮助:docker --help
概要信息:docker info
镜像查看:docker images
容器查看,即进程查看,docker ps -a


5、测试安装nginx

(1)下载镜像,docker pull nginx
(2)启动容器,docker run -d -p 8080:80 nginx
  把容器内的nginx的80端口,映射到当前服务器的8080端口,当前服务器的ip是192.168.1.120,浏览器输入http://192.168.1.120:8080/,就可以看到nginx已启动,
(3)再启动多一个容器,docker run -d -p 8081:80 nginx
  浏览器输入http://192.168.1.120:8081/,就可以看到另外一个nginx已启动 也可以通过curl 127.0.0.1:8081 来测试是否打开相应端口
(4)到这里就能体现出Docker部署应用和传统部署应用的区别了,传统部署的话,需要人工拷贝多一份nginx,再配置端口,而Docker部署的话,在已制作好的镜像基础上,一条命令就可以部署一个新的应用


6、删除测试的nginx

(1)docker ps -a
可以显示容器id
停止容器
(2)docker stop 8dc6a2b6f903
删除容器
(3)docker rm 8dc6a2b6f903


7、指定容器nginx的参数

docker run --name nginx-001 -d -p 8081:80 -v /home/docker/nginx/html:/usr/share/nginx/html nginx


-p 参数是把 宿主的8081端口映射到容器的80端口
这里要注意-v是数据卷,可以主机和容器之间共享/home/Docker/nginx/html这个目录,在容器里面就是/usr/share/nginx/html。其实这就是我们的代码目录,调试代码就是靠共享目录实现的,很方便!

可以使用curl 127.0.0.1:8081查看,会出现403 下面介绍

8、修改容器里面的配置文件

#进入容器
docker exec -it nginx-001 bash
#安装工具
apt-get update
apt-get install vim
#查看和修改nginx的配置信息
vim /etc/nginx/conf.d/default.conf


修复网页访问403错误

由于在容器里面 nginx配置的web根目录是 /usr/share/nginx/html ,对应到系统的目录是/home/docker/nginx/html 。 会有权限的问题。
这个实现需要关闭SELinux重新发布一次
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
然后重启
删除原来的容器,重新发布一下容器。
访问
退出容器:exit


参看地址
http://blog.csdn.net/remote_roamer/article/details/51916893
9、docker基础命令

查看
docker ps -a
1)删除一个容器
docker rm <containerID>
2)强制删除一个容器
docker rm -f <containerID>
3)强制删除全部容器
docker rm -f $(docker ps -aq)
4)删除一个镜像:
docker rmi <imageID>
5)强制删除一个镜像:
docker rmi -f <imageID>
6)强制删除全部镜像
docker rmi -f $(docker images -q)
查看ip
docker inspect 容器Id  或 docker inspect 容器Id |grep IPAddress


全部的操作命令

1.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)

2.查看当前有些什么images
docker images

3.删除images,通过image的id来指定删除谁
docker rmi <image id>

想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话
docker rmi $(docker images -q)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: