Docker SSH+NGHINX+MYSQL
1、添加创建镜像的配置文件
vim Dockerfile
输入以下内容:
FROM jdeathe/centos-ssh
MAINTAINER baxk"xxx@honghe-tech.com"
RUN yum install -y openssh-server nginx mysql-server mysql supervisor
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
RUN sed -i 's/PermitRootLogin no/PermitRootLogin no/g' /etc/ssh/sshd_config
RUN yum -y update
RUN useradd admin
RUN echo "admin:admin" | chpasswd
RUN echo "root:123456" | chpasswd
RUN gpasswd -a admin root
RUN /etc/init.d/mysqld start &&\
mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'root';"&&\
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'root';"&&\
mysql -u root -proot -e "show databases;"
RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisord.conf
EXPOSE 22 80 3306
CMD ["/usr/bin/supervisord"]
2、添加容器启动的配置文件
vim supervisord.conf
输入以下内容:
#command 标示容器启动时,需要执行的命令
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:mysqld]
command=/usr/bin/mysqld_safe
[program:nginx]
command=/usr/sbin/nginx
3、创建镜像
docker build -t my_centos .
4、docker run -d --name=my_centos -p 50001:22 -p 50002:3306 -p 8080:80 my_centos
5、通过ssh 登录容器
ssh admin@localhost -p 50001
密码为:admin
6、通过浏览器访问nginx
localhost:8080
7、远程连接容器中的mysql
mysql -h 0.0.0.0 -u root -P 50002 -p
密码为:letmein
# 0.0.0.0 为容器ip地址
通过命令查看容器映射的ip地址
root@xxx-All-Series:~/docker/centos# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
62d473045406 centos_nginx_test2:latest /usr/bin/supervisord 55 minutes ago Up 55 minutes 0.0.0.0:49153->22/tcp, 0.0.0.0:49154->3306/tcp, 0.0.0.0:49155->80/tcp nginx2
docker可以支持把一个宿主机上的目录挂载到镜像里。
docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash
通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径
默认挂载的路径权限为读写。如果指定为只读可以用:ro
docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash
====================================================================
docker run -it -p 80:80 -v `pwd`/logs:/var/log/nginx dockerfile/nginx
这个命令会在当前目录下创建logs目录,存放access.log和error.log
docker run -it -p 80:80 -v `pwd`/www:/www -v `pwd`/config:/etc/nginx/sites-enabled -v `pwd`/logs:/var/log/nginx dockerfile/nginx
-vpwd/www:/www,将当前路径下的www目录设置为/www,和server配置的路径对应-vpwd/config:/etc/nginx/sites-enabled,server文件的本地路径,映射到docker容器的nginx配置路径
=============================================================================
docker run --rm busybox sh -c 'ls /var/log/*'
Docker SSH+NGHINX+MYSQL的更多相关文章
- 利用SSH桥接访问服务器的Docker运行的MySql服务
前情提要 docker的运用越来广泛,许多IT公司都已经将自己的服务跑在Docker上面.在安全性方面又做了一层防护.比如:跑在Docker上的Mysql不做外网端口映射,只能在linux服务器上或进 ...
- 在docker中使用mysql数据库,在局域网访问
1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...
- docker中使用mysql数据库详解(在局域网访问)
开发过程中经常需要安装.调试mysql数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在docker上运行一个mysql镜像,省却了我安装.找依赖的问题. 注:本文所有内容均在 ...
- 制作具有SSH、MySQL功能的Chroot
由于工作需求,需要在Linux上建立SSH.MySQL两个用户. 使这两个账户连接到跳板机后仅能执行有限的命令(SSH用户只能执行SSH命令,MySQL用户只能执行MySQL命令). MySQL账户C ...
- 连接到CentOS(Linux)服务器ssh、mysql缓慢
现象: 服务器163与服务器164在同一机柜,双绞线直接连接,从办公室或者服务器163去连机服务器164的ssh.mysql均缓慢,让机房人员查了,无果.而164却正常. 最后发现两个机器/etc/r ...
- 【架构】docker环境搭建mysql主从
序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...
- linux小白成长之路8————访问Docker中的mysql
[内容指引] 本篇实战演示如何操作Docker中的mysql数据库,包含以下五个知识点: 登录容器: 登录mysql: 运行SQL指令创建数据库: 退出mysql: 退出容器: 1.登录容器 我们在上 ...
- 在docker中安装mysql
#!/bin/sh # 安装docker # 在docker中安装mysql # 解决了docker容器中无法输入中文的问题 ##########################安装docker # ...
- docker上配置mysql主从复制
1.在docker上启动2台mysql容器:(这里3306为主,3307为从) docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 - ...
随机推荐
- html之meta详解
<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...
- 如何管理linux开机自启服务
如何管理linux开机自启服务? 自启动服务非常重要,例如 (1)需要手动添加希望自启的服务,如安装svn后没有自动添加,就需要我们手动加入(2)安装某些程序后,自动加到自启动了,但我们不需要,需要手 ...
- TextView 行数控制
控制textview只显示 2 行文本,超过 2 行显示展开/折叠按钮(mShowImage),isShow=true时,是展开状态,isShow=false时,是折叠状态 方法一: int line ...
- Monkey测试的策略和分析
Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一apk和apk集合 测试的目的分为:解 ...
- 笨办法学 Python (Learn Python The Hard Way)
最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注 ...
- JavaWeb基础: ServletContext
基本概念 Web容器在启动时,会为每个Web应用程序都创建一个对应的ServletContext对象,它代表当前Web应用. ServletContext(javax.servlet.http.Ser ...
- linux修改密码的几种方法
1. 启动电脑 ,进入grub模式. 也就是下面这个模式: 按下e键,进入下面这个画面.... 选第二个(kernel的那个): 然后按下e键之后进入 下面这个版面: 之后敲入 single ...
- Less基础知识~~~实现css
首先献上我学习网址 http://www.bootcss.com/lesscss.html 就是通过less.js的调用,更好的实现css样式布局,更简易化. 最近看前端的职位要求需简单理解less之 ...
- Windows Store App 全球化:在XAML元素中引用字符串资源
在应用程序中可以通过XAML元素和后台代码两种方式引用资源文件中的字符串资源.本小节先讲述如何在XAML元素中引用字符串资源的相关知识点. 在XAML元素中可以通过使用x:Uid属性来引用资源文件中的 ...
- mongo
最近一直在用mongodb,有时候会需要用到统计,在网上查了一些资料,最适合用的就是用aggregate,以下介绍一下自己运用的心得.. 别人写过的我就不过多描述了,大家一搜能搜索到N多一样的,我写一 ...