docker 常见组件使用

1、Docker 安装 Nginx

1-1、Nginx简介

Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务

访问 Nginx 镜像库地址: 点击这里
在这里插入图片描述
此外,我们还可以用 docker search nginx命令来查看可用版本:

[root@VM-0-14-centos ~]# docker search nginx
INDEX       NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/nginx                              Official build of Nginx.                        13613     [OK]       
docker.io   docker.io/jwilder/nginx-proxy                Automated Nginx reverse proxy for docker c...   1861                 [OK]
docker.io   docker.io/richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable ...   782                  [OK]
docker.io   docker.io/linuxserver/nginx                  An Nginx container, brought to you by Linu...   126                  
docker.io   docker.io/bitnami/nginx                      Bitnami nginx Docker Image                      88                   [OK]
docker.io   docker.io/tiangolo/nginx-rtmp                Docker image with Nginx using the nginx-rt...   88                   [OK]
docker.io   docker.io/jc21/nginx-proxy-manager           Docker container for managing Nginx proxy ...   77                   
docker.io   docker.io/alfg/nginx-rtmp                    NGINX, nginx-rtmp-module and FFmpeg from s...   72                   [OK]
docker.io   docker.io/nginxdemos/hello                   NGINX webserver that serves a simple page ...   59                   [OK]
docker.io   docker.io/jlesage/nginx-proxy-manager        Docker container for Nginx Proxy Manager        53                   [OK]

1-2、下载最新nginx镜像

这里的nginx默认下载最新版本

[root@VM-0-14-centos ~]# docker pull nginx
Using default tag: latest
Trying to pull repository docker.io/library/nginx ... 
latest: Pulling from docker.io/library/nginx
bf5952930446: Pull complete 
cb9a6de05e5a: Pull complete 
9513ea0afb93: Pull complete 
b49ea07d2e93: Pull complete 
a5e4a503d449: Pull complete 
Digest: sha256:b0ad43f7ee5edbc0effbc14645ae7055e21bc1973aee5150745632a24a752661
Status: Downloaded newer image for docker.io/nginx:latest

1-3、查看本地镜像

[root@VM-0-14-centos ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              4bb46517cac3        32 hours ago        133 MB

1-4、运行容器

安装完成后,我们可以使用docker run命令来运行 nginx 容器:

[root@VM-0-14-centos ~]# docker run --name nginx -p 8080:80 -d nginx
3863890a340a725126a9f7953ff9287b7d4ca8802cbf712a47c10d378f046653

据图参数解析如下

    --name nginx:容器名称。
    -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
    -d nginx: 设置容器在在后台一直运行。

1-5、检查nginx是否正常运行

在浏览器地址栏上输入服务器IP地址加上刚才映射的端口号看到以下图画代表nginx正常访问
在这里插入图片描述

2、Docker 安装 Mysql

2-1、Mysql 简介

MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。

访问 MySQL 镜像库地址: 点击这里
在这里插入图片描述
还可以用 docker search mysql 命令来查看可用版本:

[root@VM-0-14-centos ~]# docker search mysql
INDEX       NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/mysql                             MySQL is a widely used, open-source relati...   9841      [OK]       
docker.io   docker.io/mariadb                           MariaDB is a community-developed fork of M...   3592      [OK]       
docker.io   docker.io/mysql/mysql-server                Optimized MySQL Server Docker images. Crea...   720                  [OK]
docker.io   docker.io/percona                           Percona Server is a fork of the MySQL rela...   502       [OK]       
docker.io   docker.io/centos/mysql-57-centos7           MySQL 5.7 SQL database server                   80                   
docker.io   docker.io/mysql/mysql-cluster               Experimental MySQL Cluster Docker images. ...   74                   
docker.io   docker.io/centurylink/mysql                 Image containing mysql. Optimized to be li...   61                   [OK]
docker.io   docker.io/bitnami/mysql                     Bitnami MySQL Docker Image                      44                   [OK]
docker.io   docker.io/deitch/mysql-backup               REPLACED! Please use http://hub.docker.com...   41                   [OK]
docker.io   docker.io/tutum/mysql                       Base docker image to run a MySQL database ...   35                   
docker.io   docker.io/prom/mysqld-exporter                                                              31                   [OK]
docker.io   docker.io/schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic back...   30                   [OK]
docker.io   docker.io/databack/mysql-backup             Back up mysql databases to... anywhere!         28                   
docker.io   docker.io/linuxserver/mysql                 A Mysql container, brought to you by Linux...   25                   
docker.io   docker.io/centos/mysql-56-centos7           MySQL 5.6 SQL database server                   20                   
docker.io   docker.io/circleci/mysql                    MySQL is a widely used, open-source relati...   19                   
docker.io   docker.io/mysql/mysql-router                MySQL Router provides transparent routing ...   16                   
docker.io   docker.io/arey/mysql-client                 Run a MySQL client from a docker container      14                   [OK]
docker.io   docker.io/fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron t...   8                    [OK]
docker.io   docker.io/openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 ima...   6                    
docker.io   docker.io/devilbox/mysql                    Retagged MySQL, MariaDB and PerconaDB offi...   3                    
docker.io   docker.io/ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                    [OK]
docker.io   docker.io/jelastic/mysql                    An image of the MySQL database server main...   1                    
docker.io   docker.io/widdpim/mysql-client              Dockerized MySQL Client (5.7) including Cu...   1                    [OK]
docker.io   docker.io/monasca/mysql-init                A minimal decoupled init container for mysql    0                   

2-2、下载最新Mysql镜像

下载最新版本mysql

[root@VM-0-14-centos ~]# docker pull mysql
Using default tag: latest
Trying to pull repository docker.io/library/mysql ... 
latest: Pulling from docker.io/library/mysql
bf5952930446: Already exists 
8254623a9871: Pull complete 
938e3e06dac4: Pull complete 
ea28ebf28884: Pull complete 
f3cef38785c2: Pull complete 
894f9792565a: Pull complete 
1d8a57523420: Pull complete 
6c676912929f: Pull complete 
ff39fdb566b4: Pull complete 
fff872988aba: Pull complete 
4d34e365ae68: Pull complete 
7886ee20621e: Pull complete 
Digest: sha256:c358e72e100ab493a0304bda35e6f239db2ec8c9bb836d8a427ac34307d074ed
Status: Downloaded newer image for docker.io/mysql:latest

2-3、查看本地镜像

使用docker images命令查看本地所有镜像

[root@VM-0-14-centos ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              4bb46517cac3        33 hours ago        133 MB
docker.io/mysql     latest              0d64f46acfd1        10 days ago         544 MB

2-4、运行容器

使用以下命令来运行 mysql 容器:

[root@VM-0-14-centos ~]# docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD="123456789" mysql
7d47f68de717d0142a166c2bd9d40c04dac39f351dc0d472cf8cbd992ea62079

具体参数解析如下

	-d:设置容器在在后台一直运行。
	-i: 交互式操作。
	-t: 终端。
    -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
    MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。 

2-5、检查Mysql是否正常运行

通过docker ps命令查看是否安装成功:

[root@VM-0-14-centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
7d47f68de717        mysql               "docker-entrypoint..."   4 minutes ago       Up 4 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
3863890a340a        nginx               "/docker-entrypoin..."   38 minutes ago      Up 38 minutes       0.0.0.0:8080->80/tcp                nginx

使用docker exec进入mysql容器

[root@VM-0-14-centos ~]# docker exec -it 7d47f68de717 /bin/bash

本机可以通过 root 和密码 123456789 访问 MySQL 服务。

root@7d47f68de717:/# mysql -h localhost -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.21 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值