Docker学习之路(三)

Docker学习之路(三)

Scroll Down

Docker基本配置

一.nginx 安装:

step1:先搜索nginx版本
(base) [root@qi ~]# docker search nginx
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                              Official build of Nginx.                        13267               [OK]                
jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1814                                    [OK]
...
...
step2:选择最新版本安装
(base) [root@qi ~]# docker pull nginx:latest
latest: Pulling from library/nginx
afb6ec6fdc1c: Pull complete 
b90c53a0b692: Pull complete 
11fa52a0fdc0: Pull complete 
Digest: sha256:6fff55753e3b34e36e24e37039ee9eae1fe38a6420d8ae16ef37c92d1eb26699
Status: Downloaded newer image for nginx:latest
step3:查看镜像列表
(base) [root@qi ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              9beeba249f3e        2 weeks ago         127MB
hello-world         latest              bf756fb1ae65        5 months ago        13.3kB
training/webapp     latest              6fae60ef3446        5 years ago         349MB

已有!

step4:配置端口及映射.
(base) [root@qi ~]# docker run --name nginx-test -p 9001:80 -d nginx
8ff03ff5b3ab8d9a8c2c623c72e2fc4a157d2bc27e71abd45ffd800647f0257c

image.png
成功!!!

二.安装MySQL

最新版安装

step4以上步骤基本相似,step4有以下区别:

$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
参数说明:
  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

本机可以通过 root 和密码 123456 访问 MySQL 服务。
image.png

MySQL5.7安装

要是想选择MySQL5.7的则需要根据官网说明来操作:如下官网所说:
官方原文:

The MySQL startup configuration is specified in the file /etc/mysql/my.cnf, and that file in turn includes any files found in the /etc/mysql/conf.d directory that end with .cnf. Settings in files in this directory will augment and/or override settings in /etc/mysql/my.cnf. If you want to use a customized MySQL configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as /etc/mysql/conf.d inside the mysql container.

大概意思是说:

MySQL(5.7.19)的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。

具体操作:

首先需要创建将要映射到容器中的目录以及.cnf文件,然后再创建容器

# pwd
/opt
# mkdir -p docker_v/mysql/conf
# cd docker_v/mysql/conf
# touch my.cnf
# docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID
4ec4f56455ea2d6d7251a05b7f308e314051fdad2c26bf3d0f27a9b0c0a71414

命令说明:

  • -p 3306:3306:将容器的3306端口映射到主机的3306端口
  • *v /opt/docker_v/mysql/conf:/etc/mysql/conf.d:将主机/opt/docker_v/mysql/conf目录挂载到容器的/etc/mysql/conf.d
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
  • -d: 后台运行容器,并返回容器ID
  • imageID: mysql镜像ID