Docker学习笔记-2:容器内安装mysql、tomcat、nginx

一、Docker安装msyql应用

1、方案如下Docker学习笔记-2:容器内安装mysql、tomcat、nginx_第1张图片

2、搜索msyql镜像

docker search mysql

3、拉取mysql镜像

docker pull mysql:5.7

4、创建容器,设置端口映射、目录映射

# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir /root/mysql
cd /root/mysql
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456  \
mysql:5.7

参数说明:
 -p 3306:3006  将容器的3306端口映射到宿主机3306端口。
 -v $PWD/conf:/etc/mysql/conf.d   将宿主机当前目录下的conf/my.cnf 挂载到容器        
                                   的/etc/mysql/my.cnf 配置目录
 -v $PWD/logs:/logs  将宿主机当前目录下的logs目录挂载到容器的/logs 日志目录。
 -v $PWD/data:/var/lib/mysql   将宿主机当前目录下的data目录挂载到容器的/var/lib/mysql 数据目录
 -e MYSQL_ROOT_PASSWORD=123456  初始化root用户密码

$PWD 相当于  /root/mysql

5、执行完命令后,可以用主机连接mysql进行测试 

Docker学习笔记-2:容器内安装mysql、tomcat、nginx_第2张图片


二、Docker安装tomcat应用  

 1、搜索tomcat镜像

docker search tomcat

2、拉取tomcat镜像

docker pull tomcat

        没有标明版本号,说明拉取的是最新版latest版本

3、创建tomcat容器,设置端口映射、目录映射

mkdir /root/tomcat
cd /root/tomcat
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps  \
tomcat

        参数说明:

         -p 8080:8080      将容器端口号8080映射到宿主机的8080端口

         -v $PWD:/usr/local/tomcat/webbapps     将主机当前目录挂载到容器 webapps

4、使用外部机访问tomcat

        Docker学习笔记-2:容器内安装mysql、tomcat、nginx_第3张图片


三、Docker安装Nginx应用

 1、搜索nginx镜像

docker search tomcat

2、拉取nginx镜像

docker pull nginx

        没有标明版本号,说明拉取的是最新版latest版本

3、环境目录设置

# 在/root目录下创建nginx目录用于存储nginx数据信息
mkdir /root/nginx
cd /root/nginx
mkdir conf
cd /conf
# 在  /root/nginx/conf/下创建nginx.conf文件,粘贴一下nginx配置
vim nginx.conf
user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid       /var/run/nginx.pid;


events {
    worker_connections 1024;
}


http {
    include    /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log main;

    sendfile      on;
    #tcp_nopush   on;
    
    keepalive_timeout  65;

    #gzip   on;
    
    include /etc/nginx/conf.d/*.conf;
}

4、创建容器,设置端口映射、目录映射

docker run -id -name=c_nginx \
-p 80:80  \
-v $PWD/conf/nginx.conf:/etc/nginx.conf  \
-v $PWD/logs:/var/log/nginx  \
-v $PWD/html:/usr/share/nginx/html \
nginx

        参数说明:

                -p 80:80    将容器80端口映射到宿主机80端口

                -v $PWD/conf/nginx.conf:/etc/nginx.conf  将宿主机当前目录下的/conf/nginx.conf 挂载到容器的 /etc/nginx.conf 配置目录

                -v $PWD/logs:/var/log/nginx   将宿主机目录下的logs目录挂载到容器/var/log/nginx 日志目录

5、使用外部机器访问nginx

Docker学习笔记-2:容器内安装mysql、tomcat、nginx_第4张图片

你可能感兴趣的:(java相关技术分享,docker,容器)