一、nginx安装

1、拉取镜像:docker pull nginx

2、启动容器:docker run -d -p 80:80 nginx

3、查看nginx:ps aux | grep 'nginx'

4、访问nginx:curl 127.0.0.1

二、配置nginx.conf文件

1、通过在容器中配置

进入nginx容器中:

docker container exec -it f0b1c8ab3633 /bin/bash

退出:exit

配置文件位置:cd  /etc/nginx/nginx.conf

vi nginx.conf会报错,因为是容器是轻量级的,默认不支持vi等插件,需要自己安装vi等插件(不建议在容器中修改配置文件)

2、通过挂载的方式:

容器挂载外部配置文件 ,命令 -v

使用挂载的方式,外部的配置文件覆盖内部容器配置文件

创建挂载目录(-p 递归创建):mkdir -p /data/nginx/{conf,conf.d,html,logs}

把nginx.conf文件上传到 conf目录下

docker run --name mynginx -d -p 80:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx

启动容器后,查看容器内配置文件,容器内配置文件已经和外部配置文件一致了

二、mysql安装

1、拉取镜像文件

docker pull mysql:5.7

2、创建一个容器

docker create --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7

3、启动容器

docker start mysql

4、进入到容器

docker exec -it mysql bash

5、连接mysql

mysql -uroot -p

6、配置文件位置

cd /etc/mysql/mysql.cnf

7、运行容器(完整)

docker run -p 3306:3306 --name mysql8 --restart always --privileged=true  -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf  -v  /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.18

8、my.cnf配置文件

[client]
default-character-set=utf8mb4 [mysql]
default-character-set=utf8mb4 [mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=10000
default-time_zone='+8:00'
character-set-client-handshake=FALSE
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
# Custom config should go here
!includedir /etc/mysql/conf.d/

  

三、redis安装

docker run -p 6379:6379 -v /data/redis:/data  -d redis:3.2 redis-server  --requirepass "root" --appendonly yes

四、mongodb安装

1、运行容器

docker run -itd --name mongo -p 27017:27017 -v /docker/mongodb/data:/data/db  mongo --auth

2、进入容器,添加用户和密码

docker exec -it mongo mongo admin

# 创建一个名为 admin,密码为 admin 的用户
db.createUser({ user:'admin',pwd:'admin',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]}); # 尝试使用上面创建的用户信息进行连接
db.auth('admin', 'admin') # 退出
exit;

3、管理员已经创建成功后,我们需要重新连接mongo数据库,用管理员进行登录,并为目标数据库创建目标用户,先退出容器,从新进入容器

docker exec -it mongo mongo admin

# 授权admin登录
db.auth("admin", "admin");

4、创建访问指定数据库的用户

假设我们为 theme_commons 库创建一个用户,用户名为 kevin,密码为 kevin

use theme_commons;

db.createUser({ user: 'kevin', pwd:'kevin', roles: [ {role:"readWrite",db:"theme_commons"}]});

db.auth("kevin","kevin");

# 创建成功并退出
exit;

  

 

基于【 Docker】四 || Docker常用镜像安装的更多相关文章

  1. docker学习笔记-常用镜像相关命令

    docker images # 1.使用 [root@iZbp13qr3mm4ucsjumrlgqZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED ...

  2. Docker 系列之 常用镜像

    Ubuntu 实战 操作 # 拉取 18.04 版本的 Ubuntu 镜像 docker pull ubuntu:latest # 以交互方式运行并进入 ubuntu 容器环境 docker run ...

  3. 构建微服务开发环境4————安装Docker及下载常用镜像

    [内容指引] 下载Docker: Mac下安装Docker: Windows下安装Docker; 下载常用docker镜像. 一.下载Docker 1.Mac适用Docker下载地址:https:// ...

  4. Docker笔记:常用服务安装——Nginx、MySql、Redis(转载)

    转载地址:https://www.cnblogs.com/spec-dog/p/11320513.html 开发中经常需要安装一些常用的服务软件,如Nginx.MySql.Redis等,如果按照普通的 ...

  5. sh: /etc/init.d/sshd: not found Docker中的Alpine镜像安装sshd无法启动

    问题描述 在Alpine镜像中安装了openssh-server和openssh之后,无法执行ssh localhost.发现未启动服务,开启服务时报以下错误 / # ls /etc/init.d/s ...

  6. 【docker】docker安装和使用

    一.docker简介: docker是容器技术的一个代表,而容器技术是将程序打包和隔离的一种技术,其实它并不是一个新技术,之前在linux内核中早已存在,真正被大众所用所了解是因为docker的出现. ...

  7. 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云

    一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...

  8. 安装Docker和下载images镜像和常用Docker命令

    我的是centos7,也会6的方法: $sudo yum install docker 直接yum安装contos7使用centos6.5先获取epel源并 启动Docker,并注册开机服务 [roo ...

  9. 基于 debian 操作系统的 docker 镜像,安装 vim

    基于 debian 操作系统的 docker 镜像,安装 vim,步骤: apt-get update apt-get install vim 注意: 直接运行步骤2,可能会报错: Reading p ...

随机推荐

  1. keras输出预测值和真实值

    在使用keras搭建神经网络时,有时需要查看一下预测值和真是值的具体数值,然后可以进行一些其他的操作.这几天查阅了很多资料.好像没办法直接access到训练时的数据.所以我们可以通过回调函数,传入新的 ...

  2. API的查看

    步骤: 1. 双击打开API 2. 点击显示, 找到索引 3. 输入要查找的类名 , 敲击Enter两次 4. 看该类所属的包, java.lang包下的类,在使用的时候不需要导包 ,其他的都需要导包 ...

  3. 010-centos 端口问题

    1.nmap 安装 yum install nmap    #输入y安装 使用 nmap localhost    #查看主机当前开放的端口      nmap -p 1024-65535 local ...

  4. flutter的生命周期

    大致可以看成三个阶段 初始化(插入渲染树) 状态改变(在渲染树中存在) 销毁(从渲染树种移除) initState 当插入渲染树的时候调用,这个函数在生命周期中只调用一次.这里可以做一些初始化工作,比 ...

  5. ubuntu18.04开机提示welcome to emergency mode! after logging in type...的解决办法

    开机就是报错,进不了系统. 原因是我的ubuntu电脑绑定了之前的移动硬盘,而我开机的时候并没有插着移动硬盘. 所以解决办法是,在此命令行下,以root用户的身份(我这里默认是root用户),vim ...

  6. QuickText for Notepad++

    昨刚投入新欢Notepad++,思路如泉涌,码代码也不累了,一口气用她码了两篇文- 今再接再厉,继续.QuickText严格说来算不上什么神器级插件,也仅只是一个缩写快捷输入的插件而已.可用得好,那效 ...

  7. HTML5+CSS3系列教程——如何制作简单按钮笔记

      1.按钮的制作方式 用图片(目前用的不多) 纯CSS a标签 input 图片二决定了input的类型 当input的type属性是submit button等这些的时候他呈现一个按钮 butto ...

  8. VMware vSphere 6 序列号大全

      经过测试ESXI6.5也可以使用. vSphere 6 Hypervisor HY0XH-D508H-081U8-JA2GH-CCUM2 4C4WK-8KH8L-H85J0-UHCNK-8CKQ8 ...

  9. kotlin基本数据类型

    通过idea创建kotlin项目: 创建kotlin文件 package com.czhappy.chapter01 var aBoolean:Boolean = true var anInt:Int ...

  10. Python中最常见的10个问题(列表)

    列表是Python中使用最多的一种数据结果,如何高效操作列表是提高代码运行效率的关键,这篇文章列出了10个常用的列表操作,希望对你有帮助. 1.迭代列表时如何访问列表下标索引 普通版: items = ...