1.安装docker
a.mac安装docker
用 brew 安装
brew install docker --cask
安装 成功后会提示 🍺 docker was successfully installed!
如果此时报
Here's the output: ln: /usr/local/bin/docker: Permission denied
执行
sudo chown -R $(whoami) /usr/local
然后再执行一下安装命令即可
b.阿里云安装docker
基于阿里云服务器Linux的CentOS7
且确保已经安装了gcc相关环境
yum -y install gcc
yum -y install gcc-c++
一、查看官方文档官网地址:[!https://www.docker.com/]
1、先卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装需要的软件包
yum install -y yum-utils
3、配置阿里云镜像仓库
使用国内阿里云的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新yum软件包索引
yum makecache fast
5、安装Docker CE
ce是社区版,ee是企业版
yum install docker-ce docker-ce-cli containerd.io
6、启动Docker
systemctl start docker
7、测试命令
docker version #查看版本信息,是否安装成功
8、运行hello world
docker run hello-world
9、查看下载的镜像
docker images
其他命令
systemctl start docker #运行Docker守护进程
systemctl stop docker #停止Docker守护进程
systemctl restart docker #重启Docker守护进程
systemctl enable docker #设置Docker开机自启动
systemctl status docker #查看Docker的运行状态
c.华为云安装docker
$ cd /etc/yum.repos.d
$ wget https://repo.huaweicloud.com/repository/conf/openeuler_x86_64.repo
$ yum clean all
$ yum makecache
安装docker
$ yum -y install docker
启动docker
$ sudo service docker start
$ docker --version
Docker version 18.09.0, build c0d3c43
开机自启动
sudo systemctl enable docker
2.docker 安装nginx
Docker 安装 Nginx
Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务 。
1、查看可用的 Nginx 版本 访问 Nginx 镜像库地址: https://hub.docker.com/_/nginx?tab=tags。 可以通过 Sort by 查看其他版本的 Nginx,默认是最新版本 nginx:latest。 你也可以在下拉列表中找到其他你想要的版本:
此外,我们还可以用 docker search nginx 命令来查看可用版本:
docker search nginx
2、取最新版的 Nginx 镜像
这里我们拉取官方的最新版本的镜像:
$ docker pull nginx:latest
3、查看本地镜像 使用以下命令来查看是否已安装了 nginx:
docker images
3、创建Nginx配置文件 启动前需要先创建Nginx外部挂载的配置文件( /Users/docker/nginx/conf/nginx.conf) 之所以要先创建 , 是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件 当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的结果 。
创建挂载目录
sudo mkdir -p /Users/docker1/nginx/conf
mkdir -p /Users/docker1/nginx/log
mkdir -p /Users/docker1/nginx/html
chmod 777 /Users/docker/
容器中的nginx.conf文件和conf.d文件夹复制到宿主机
# 生成容器
docker run --name nginx -p 80:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /Users/docker1/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /Users/docker1/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /Users/docker1/nginx/
删除了刚才的容器 docker rm -f nginx
docker run \
-p 80:80 \
--name nginx1 \
-v /Users/docker1/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /Users/docker1/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /Users/docker1/nginx/log:/var/log/nginx \
-v /Users/docker1/nginx/html:/usr/share/nginx/html \
-d nginx:latest
命令 描述 –name nginx 启动容器的名字 -d 后台运行 -p 80:80 将容器的 80(后面那个) 端口映射到主机的 80(前面那个) 端口 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf配置文件 -v /home/nginx/conf/conf.d:/etc/nginx/conf.d 挂载nginx配置文件 -v /home/nginx/log:/var/log/nginx 挂载nginx日志文件 -v /home/nginx/html:/usr/share/nginx/html 挂载nginx内容 nginx:latest 本地运行的版本 \ shell 命令换行
测试
curl 127.0.0.1:9002
5、安装成功 最后我们可以通过浏览器可以直接访问 9002 端口的 nginx 服务:
其他
我们想要改变配置文件nginx.conf ,也可以进入容器去修改:
进入容器
docker exec -it nginx bash
nginx.conf配置文件在 /etc/nginx/ 下面,但是你使用vim nginx.conf 或者vi nginx.conf
会发现vi或者vim命令没有用,解决办法:apt-get update 完成之后 apt-get install vim
此时你就可以自己定制nginx.con文件了,改好配置文件之后重启容器,步骤,先把容器停了
docker stop nginx 然后重启 docker start nginx
碰到nginx 403 时候,可能是映射文件的权限不够
chmod -R 755 /Users/docker1/nginx/html
sudo scp /Users/icourt/github/next-react-ssr/out/1.zip root@121.36.47.43:/Users/docker1/nginx/html
unzip 1.zip