cents7安装docker并部署nginx、mysql容器

centos7安装docker

1、卸载原来安装过的docker,如果没有安装过docker可以跳过

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、安装软件包(提供实用程序)并设置存储库

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装成功后可以在/etc/yum.repos.d下看见docker-ce.repo文件

3、安装docker引擎

yum install  -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

container engine 容器引擎

docker是一个容器管理的软件

docker-ce 是服务器端软件 server

docker-ce-cli是客户端软件 client

docker-compose-plugin是compose插件,用来批量启动很多容器,在单台机器上

containerd.io 底层用来启动容器的

4、启动docker服务

systemctl start docker

5、设置docker服务开机启动

systemctl enable docker
docker里部署nginx容器

1、下载nginx容器镜像

docker  pull  nginx

2、创建nginx容器

docker run -d -p 8090:80 --name nginx-1 nginx

-d —— 代表daemon(守护进程),表示在后台运行
-p 8090:80 —— 指定端口映射,通过DNAT技术当访问宿主机的8090端口时会指向访问docker的80接口进而访问对应的容器
–name nginx-1 —— 指定容器名字为nginx-1
nginx —— 使用的镜像为nginx
3、在客户端上测试能否访问宿主机器的8090端口
cents7安装docker并部署nginx、mysql容器_第1张图片

docker部署mysql容器

1、下载镜像

docker  pull  mysql:5.7.39

2、启动容器

Starting a MySQL instance is simple:

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

some-mysql 表示你想要给容器起什么名字
my-secret-pw 表示为root用户设置密码用来登录MySQL
tag表示你想要使用的MySQL容器的版本

3、进入mysql容器里

[root@docker ~]# docker exec -it sc-mysql-1 bash
bash-4.2# 

docker exec 进入容器内部,执行命令

-it 开启一个中断,交互式登录进入

sc-mysql-1 容器的名字

bash 进入容器里运行的程序
4、在容器内部登录进入mysql

bash-4.2# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.39 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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> 
附docker常用命令:
  • docker --version——查看docker版本

  • docker --help——查看docker有哪些命令

  • docker ps——查看目前启动了哪些docker容器

    docker启动的每一个容器背后就是一个linux进程

    [root@docker yum.repos.d]# docker ps
    CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
    1527e0628b8d   nginx     "/docker-entrypoint.…"   7 minutes ago   Up 7 minutes   0.0.0.0:8090->80/tcp, :::8090->80/tcp   sc-nginx
    

    docker ps -a——查看所有的容器包括停止的

    [root@docker ~]# docker ps -a
    CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS                                   NAMES
    1527e0628b8d   nginx     "/docker-entrypoint.…"   3 hours ago   Up 3 hours   0.0.0.0:8090->80/tcp, :::8090->80/tcp   sc-nginx
    

    docker start sc-nginx——启动已经停止的容器

  • docker images——查看docker镜像

    images——镜像:里面包含了我们需要的软件的代码和基础环境,以及依赖软件

  • docker pull nginx——下载nginx容器镜像

  • docker run ——创建一个新的docker容器

  • docker start/stop——启动/暂停容器

  • docker info——docker信息汇总

  • docker logs 容器id——查看指定容器启动失败日志

  • docker rmi——删除镜像

  • docker rm——删除容器,后面接容器的名字

镜像来源——默认从docker官方提供的网站去下载

Docker Hub Container Image Library | App Containerization

凡是你想得到的软件,都有一个镜像,我们直接启动镜像就可以获得这个软件

docker 容器启动软件,颠覆了我们传统的软件安装方式

dockerfile 是制作docker镜像的文件,理解成一个配方文件

你可能感兴趣的:(docker,nginx,mysql)