文章目录
Docker安装
1,centos 下安装Docker 文档
https://docs.docker.com/install/linux/docker-ce/centos/
2,Docker 安装
2.1,确定是centos7的版本
cat /etc/redhat-release
2.2,yum安装gcc相关
1,确定centos7能上外网
2,yum -y install gcc
3,yum -y install gcc-c++
2.3,卸载旧版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.4,安装方法
yum install docker
2.5,启动docker
systemctl start docker
2.6,查看版本
docker version
2.7,测试运行 hello-world
docker run hello-world
由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
2.8,测试运行nginx
docker run -p 8080:80 -d docker.io/nginx //将80端口映射为8080,或者80:80还是原先的80端口,不可以不写。
测试
2.9,卸载docker
systemctl stop docker
yum -y remover docker
rm -rf /var/lib/docker
其他
阿里云地址
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
docker的地址修改为阿里云源
"registry-mirrors": ["https://zfo24jik.mirror.aliyuncs.com"]
修改完成输入命令
vi /etc/docker/daemon.json
最后 service docker restart 重启 daemon
然后 ps aux | grep docker 然后你就会发现带有镜像的启动参数了。
docker的常见安装和基本命令
菜鸟大全
https://www.runoob.com/docker/docker-command-manual.html
docker安装nginx并且部署静态文件
安装nginx
- 从镜像列表中选取其中一个,拉取到本地
docker pull nginx:1.17.5
-nginx: 镜像名称,如果需要特定版本可使用:进行拉取浏览器输入ip测试
- 快速启动,在容器中加载镜像文件,并运行
docker run -d -it -p 8080:80 --name nginx1 nginx
-d: 后台运行
-p 8080:80: 端口映射,<本地映射端口>:<容器端口>
–name nginx1: 容器名称,名称自定义
- 查看Nginx所在容器的状态
或者浏览器输入ip查看
部署打包好的静态文件
1.0 将容器中Nginx服务的配置文件及首页文件复制到本地
docker cp nginx1:/etc/nginx ~/nginx
docker cp nginx1:/usr/share/nginx/html ~/nginxwww
-
-nginx8080: Nginx服务容器名称
-
-/etc/nginx: Nginx服务配置文件存放目录
-
~/nginx: 本地配置文件存放目录,自定义(这里是root/nginx)
-
/usr/share/nginx/html: Nginx服务html文件默认存放目录
-
~/nginxwww: 本地html文件存放目录,自定义(这里是root/nginxwww)
7.删除的当前Nginx服务,因为我们前面建立的这个Nginx服务是为了验证它能在Docker中运行,以及6中能将默认的配置文件复制到本地(偷懒的步骤)。现在目的都已经达到了,它也就完成自己的使命了。
docker stop nginx1
docker rm nginx1
8.将本地文件映射到容器中,再部署Nginx服务。把配置文件放在本地,这样就可以方便我们修改。
docker run -d -it -p 8080:80 --name nginx1 -v ~/nginx:/etc/nginx -v ~/nginxwww:/usr/share/nginx/html --link=markjiang_dockerdemo:demo nginx
- -v ~/nginx:/etc/nginx: 将本地的配置文件所在目录映射到容器中
- -v ~/nginxwww:/usr/share/nginx/html: 将本地的首页文件映射到容器中
- –link=marijiang_dockerdemo:demo: link连接器,使得容器间可进行单向通信,即Nginx服务可使用别名demo访问容器markjiang_dockerdemo,格式<目标容器名称>:<别名>,别名在Nginx所在容器内部使用
docker常见报错
Failed to start docker.service: Unit not found(Docker服务起不来)
linux部署Docker出现:Failed to start docker.service: Unit not found
用的linux 之前部署过 k8s 等项目,有一些残留很多 Docker 损坏了
重新安装后总是 起不来服务 出现:Failed to start docker.service: Unit not found
警告:酌情适用 我的情况是要重装的
解决:
直接 yum update
一定要重启linux
yum install Docker
systemctl start docker.service