centos7下教你上手docker

本文介绍了在CentOS7环境下如何操作Docker,包括理解Docker的镜像、容器和仓库基本概念,详细步骤涵盖了Docker的安装、启动、版本查看、开机启动设置以及常用命令的使用。同时,通过实例展示了如何运行Redis和MySQL容器。

docker

在这里插入图片描述

在这里插入图片描述

docker 的三个基本概念:

1、镜像 Image

​ – 实现了某个功能的代码模块(别人已经配置好的一个程序或者很多程序的一个环境)

​ – 镜像 = 一个os + 一个程序或者多个程序 ----》人家已经做好的套餐盒饭

2、容器 Container

​ – 将镜像里的代码运行起来的一个地方

​ – 一个容器对应一个进程

3、仓库 Repository

​ – 存放很多镜像的一个地方 --》(时速云)

​ – 我们比较熟悉的一个仓库—》yum

-----------------------------------------------------

操作使用docker:

*人生建议:*先升级yum–》yum update

安装docker:

​ yum install docker -y

启动docker:
[root@yun ~]# service docker start
Redirecting to /bin/systemctl start  docker.service
查看docker版本:
[root@yun ~]# service docker start
Redirecting to /bin/systemctl start  docker.service
[root@yun ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
 Go version:      go1.10.3
 Git commit:      64e9980/1.13.1
 Built:           Tue Apr 28 14:43:01 2020
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
 Go version:      go1.10.3
 Git commit:      64e9980/1.13.1
 Built:           Tue Apr 28 14:43:01 2020
 OS/Arch:         linux/amd64
 Experimental:    false
设置开机启动:
[root@yun ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
常用的docker命令:

docker version

docker images — 查看docker镜像

docker search — 查找docker镜像

  • docker search --filter stars=200 nginx — 过滤出stars在200以上的的nginx镜像

docker pull — 下载镜像

导入、导出镜像:

  • docker save -o nginx_docker.tar docker.io/nginx — 在本地的当前目录下创建一个名叫nginx_docker.tar的nginx镜像压缩文件。
  • docker load < nginx_docker.tar — 在其他机器上导入镜像。
  • 也可以使用ftp,导出端–》安装vsftp,导出端–》安装lftp

================================================

docker ps -a — 查看所有正在运行的容器

docker run -d -p 80:80 --name tzk_nginx docker.io/nginx

  • -d:deamon起一个后台进程去运行
  • -p:外面访问os的80端口,然后转发到容器里的80端口(端口映射)
  • –name:给容器命名
  • 每一个运行的容器都有自己的一串唯一标识符

docker stop tzk_nginx — 停掉运行的容器

docker restart tzk_nginx — 重启容器

docker exec -it tzk_nginx /bin/bash — 进入容器

exit — 退出容器

docker rm — 删除已有的容器

[root@yun ~]# docker search --filter stars=200 nginx
INDEX       NAME                                DESCRIPTION                                                                                              STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/nginx                     Official build of Nginx.                                                                                 13263     [OK]
docker.io   docker.io/jwilder/nginx-proxy       Automated Nginx reverse proxy fo                                                         r docker c...   1813                 [OK]
docker.io   docker.io/richarvey/nginx-php-fpm   Container running Nginx + PHP-FP                                                         M capable ...   775                  [OK]
[root@yun ~]# docker pull docker.io/nginx
Using default tag: latest
Trying to pull repository docker.io/library/nginx ...
latest: Pulling from docker.io/library/nginx
afb6ec6fdc1c: Pull complete
b90c53a0b692: Pull complete
11fa52a0fdc0: Pull complete
Digest: sha256:6fff55753e3b34e36e24e37039ee9eae1fe38a6420d8ae16ef37c92d1eb26699
Status: Downloaded newer image for docker.io/nginx:latest
[root@yun ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              9beeba249f3e        2 weeks ago         127 MB

------------------------------------------------------------------------------------------

使用实例(redis、mysql):

redis:

[root@mytest ~]# docker run -d -p 6379:6379 --name docker_redis docker.io/redis
c4739ca4bbaaa61df17707f642fe4e415d73d0a4a80396483ef6aeb939dc115c
[root@mytest ~]# docker stop docker_redis
docker_redis
[root@mytest ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
1309c0808426        docker.io/redis     "docker-entrypoint..."   37 minutes ago      Exited (0) 6 seconds ago                       docker_redis
[root@mytest ~]# docker start docker_redis
docker_redis
[root@mytest ~]# docker exec -it docker_redis /bin/bash
root@1309c0808426:/data# redis-cli
127.0.0.1:6379>

mysql5.7:

可以通过改变端口,起多个容器使得一台机器(宿主机)上可以连接多个数据库!

[root@mytest ~]# docker pull docker.io/mysql:5.7

[root@mytest ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis     latest              36304d3b4540        3 days ago          104 MB
docker.io/mysql     5.7                 a4fdfd462add        10 days ago         448 MB
[root@mytest ~]# docker run -d -p 3306:3306 --name my_mysql57 -e MYSQL_ROOT_PASSWOR                                                      D='Tzkwan1314=' mysql:5.7
f57dec6fb9e531086afbe2696cffc37a2cad8903a202ff2b0d66c7b5efa4af1f
[root@mytest ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
f57dec6fb9e5        mysql:5.7           "docker-entrypoint..."   23 seconds ago      Up 22 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   my_mysql57

[root@mytest ~]# docker exec -it my_mysql57 /bin/bash
root@f57dec6fb9e5:/# mysql -uroot -pTzkwan1314=
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.30 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值