1、安装nginx[color=var(--theme-color)]#一、获取nginx镜像[color=var(--theme-color)]#docker search nginx # 获取nginx镜像列表docker pull nginx # 拉取官方最新镜像到本地docker images nginx # 查看拉取到本地的nginx镜像IMAGE ID二、创建nginx容器[color=var(--theme-color)]# 测试下nginx镜像是否可用 docker run -d --name mynginx -p 80:80 7baf- -d 指定容器以守护进程方式在后台运行
- --name 指定容器名称,此处我指定的是mynginx
- -p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口
- 231d 是nginx的镜像IMAGE ID前4位
命令执行后返回了容器ID,682bd....,此时我们已经成功创建了nginx容器. 在浏览器访问CentOS主机,会看到nginx欢迎页 三、将nginx容器内部配置文件挂载到主机[color=var(--theme-color)]#2、安装mysql[color=var(--theme-color)]#(ps:使用docker部署nginx容易产生403或者访问不到主机服务等问题,多半是配置不当) 一、获取mysql镜像[color=var(--theme-color)]#docker search mysqldocker pull mysql:5.6.45docker images mysql二、创建mysql容器[color=var(--theme-color)]#docker run -p 3306:3306 --name mysql -v /opt/soft/mysql/conf:/etc/mysql/conf.d -v /opt/soft/mysql/logs:/var/log/mysql -v /opt/soft/mysql/data:/var/lib/mysq -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6.45 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci- -p 3306:3306:将主机的3306端口映射到docker容器的3306端口。
- --name mysql:运行服务名字
- -v /opt/soft/mysql/conf:/etc/mysql/conf.d :将主机/mydocker/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
- -v /opt/soft/mysql/logs:/var/log/mysql:将主机/mydocker/mysql目录下的 logs 目录挂载到容器的 /logs。
- -v /opt/soft/mysql/data:/var/lib/mysql :将主机/mydocker/mysql目录下的data目录挂载到容器的 /var/lib/mysql
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- -d mysql:5.7 : 后台程序运行mysql5.6.45
- --character-set-server=utf8mb4 :设置字符集
- --collation-server=utf8mb4_unicode_ci:设置校对集
查看容器日志: docker logs -f -t --tail 100 667bf66d4e5d进入容器内部查看: docker exec -it 667bf66d4e5d /bin/bash退出容器的方式: exit–容器停止退出crtl+p+q—容器不停止退出三、将nginx容器内部配置文件挂载到主机[color=var(--theme-color)]#1、在主机 /opt/soft 目录下执行mkdir -p ./nginx/{conf,html,logs} 2、将容器内的nginx.conf与default.conf文件分别拷贝到主机 /opt/soft/nginx 与目录 /opt/soft/nginx/conf 下,分别执行 : - cp 命令代表复制
- ef是我们nginx容器的ID,/etc/nginx/nginx.conf 是容器内部nginx.conf 路径
docker cp ef:/etc/nginx/nginx.conf ./docker cp ef:/etc/nginx/conf.d/default.conf ./conf/3、停止刚刚创建的nginx容器,ef是容器ID docker stop ef docker rm ef4、重新创建nginx容器 docker run -d --name mynginx -p 80:80 -v /opt/soft/nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/soft/nginx/logs:/var/log/nginx -v /opt/soft/nginx/html:/usr/share/nginx/html -v /opt/soft/nginx/conf:/etc/nginx/conf.d --privileged=true 7baf参考资料http://www.makeru.com.cn/course/details/2058?s=143793
|