美文网首页
Ubuntu下安装Docker和使用

Ubuntu下安装Docker和使用

作者: 大大哟nice | 来源:发表于2019-07-16 11:19 被阅读0次

    1.核心概念

    docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
    docker客户端(Client):连接docker主机进行操作;
    docker仓库(Registry):用来保存各种打包好的软件镜像;
    docker镜像(Images):软件打包好的镜像;放在docker仓库中;
    docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

    Docker.png

    使用Docker的步骤:
    1)、安装Docker
    2)、去Docker仓库找到这个软件对应的镜像;
    3)、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;
    4)、对容器的启动停止就是对软件的启动停止;

    2.安装Docker

    regan@regan-VPCEH15YC:~$ sudo apt install docker.io
    

    tips:如果安装失败请检查当前系统的内核版本,如果成功忽略此步骤
    确保自己的linux系统内核版本高于3.10,并且系统是64位,才能体验Docker哦

    regan@regan-VPCEH15YC:~$ uname -ir
    4.15.0-54-generic x86_64
    
    regan@regan-VPCEH15YC:~$ systemctl start docker      //启动docker
    regan@regan-VPCEH15YC:~$ docker -v        //查看docker版本
    Docker version 18.09.7, build 2d0083d
    regan@regan-VPCEH15YC:~$ sudo systemctl enable docker  //设置docker开机自启
    [sudo] regan 的密码: 
    Synchronizing state of docker.service with SysV init with /lib/systemd/systemd-sysv-install...
    Executing /lib/systemd/systemd-sysv-install enable docker
    

    3.安装Mysql 5.5&&删除Mysql

    regan@regan-VPCEH15YC:~$ sudo docker search mysql //从docker hub搜索mysql
    [sudo] regan 的密码: 
    NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    mysql                             MySQL is a widely used, open-source relation…   8383                [OK]                
    mariadb                           MariaDB is a community-developed fork of MyS…   2881                [OK]                
    mysql/mysql-server                Optimized MySQL Server Docker images. Create…   624                                     [OK]
    percona                           Percona Server is a fork of the MySQL relati…   438                 [OK]                
    centurylink/mysql                 Image containing mysql. Optimized to be link…   60                                      [OK]
    centos/mysql-57-centos7           MySQL 5.7 SQL database server                   59                                      
    mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   46                                      
    deitch/mysql-backup               Automated and scheduled mysql database dumps…   39                                      [OK]
    tutum/mysql                       Base docker image to run a MySQL database se…   32                                      
    schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   28                                      [OK]
    ....
    

    [docker hub]查看当前所需的mysql版本信息

    regan@regan-VPCEH15YC:~$ sudo docker pull mysql:5.5  //下载5.5版本,没有设置默认latest版本
    5.5: Pulling from library/mysql
    743f2d6c1f65: Pull complete 
    3f0c413ee255: Pull complete 
    aef1ef8f1aac: Pull complete 
    f9ee573e34cb: Pull complete 
    3f237e01f153: Pull complete 
    03da1e065b16: Pull complete 
    04087a801070: Pull complete 
    7efd5395ab31: Pull complete 
    1b5cc03aaac8: Pull complete 
    2b7adaec9998: Pull complete 
    385b8f96a9ba: Pull complete 
    Digest: sha256:12da85ab88aedfdf39455872fb044f607c32fdc233cd59f1d26769fbf439b045
    Status: Downloaded newer image for mysql:5.5
    regan@regan-VPCEH15YC:~$ sudo docker images  //查看本地镜像
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    mysql               5.5                 d404d78aa797        2 months ago        205MB
    regan@regan-VPCEH15YC:~$ sudo docker rmi d404d78aa797   //删除下载的镜像,IMAGES ID
    Untagged: mysql:5.5
    Untagged: mysql@sha256:12da85ab88aedfdf39455872fb044f607c32fdc233cd59f1d26769fbf439b045
    Deleted: sha256:d404d78aa797c87c255e5ae2beb5d8d0e4d095f930b1f20dc208eaa957477b74
    Deleted: sha256:8ae7b3986b745c9cea4ea3789277dbf8543d6caed82c23d1ec19637813376df5
    Deleted: sha256:6aaf52074d0d6ec3263af5f53b921a91ba3ddbeb2fece1a82ebe1bc5086c3814
    Deleted: sha256:cf0a74866630c5d7ed05927cf981ac93b63ba83407872c9c0fbe0486d5f9806e
    Deleted: sha256:e06cee897f9eb6bb5769f93cf6cd0285bb773d7e2bad6dfd5592a8682a6e6740
    Deleted: sha256:4354e03e5a414adc57def51226d72fa2d117875a6c9665561a7c0fc85d23c46f
    Deleted: sha256:647b973285178c7d4bf022c31baac404e0947d37be8e8e85731de8f7ca7e70e6
    Deleted: sha256:c75ab456a585af40ca2ec8488164230deb81a1739d868604cb7b6661c24e37b5
    Deleted: sha256:50a75eb6a0b2254fe5d96f999cc2087e72d515c93509a816bbd9ffb707a3b1b0
    Deleted: sha256:1ae6616333a66450738a72a75c03bdf0236e0425ba0336ac5cdbe470ab6f4a3e
    Deleted: sha256:68e318bd9263aedd19d9d73b051a262fa57e2a16f9c81c8b39163601020cd405
    Deleted: sha256:6270adb5794c6987109e54af00ab456977c5d5cc6f1bc52c1ce58d
    
    

    4.常用命令和操作

    1).镜像操作

    常用命令.png

    2).容器操作

    regan@regan-VPCEH15YC:~$ sudo docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    tomcat              latest              89481b5d9082        2 days ago          506MB
    mysql               5.5                 d404d78aa797        2 months ago        205MB
    regan@regan-VPCEH15YC:~$ sudo docker run --name myTomcat -d -p 8080:8080 tomcat:latest  //启动docker容器并取名为myTomcat -d:后台运行 -p 8080(服务器端口):8080(容器端口) 将服务器的端口映射到容器的端口 ; --name myTomcat 可以省略
    407aaf30621403bab4f1ed91fe25d5d4dac585f682f4cbff67454a5fc052c84f
    regan@regan-VPCEH15YC:~$ sudo docker ps   //查看当前运行的容器
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    407aaf306214        tomcat:latest       "catalina.sh run"   9 seconds ago       Up 7 seconds        8080/tcp            myTomcat
    regan@regan-VPCEH15YC:~$ sudo docker stop 407aaf306214  //停止container id:407aaf306214的容器
    407aaf306214
    regan@regan-VPCEH15YC:~$ sudo docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    regan@regan-VPCEH15YC:~$ sudo docker ps -a  //查看所有的docker容器,包括已经停止的容器
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES
    407aaf306214        tomcat:latest       "catalina.sh run"   57 seconds ago      Exited (143) 20 seconds ago                       myTomcat
    regan@regan-VPCEH15YC:~$ sudo docker start 407aaf306214    //启动container id:407aaf306214的容器
    407aaf306214
    regan@regan-VPCEH15YC:~$ sudo docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
    407aaf306214        tomcat:latest       "catalina.sh run"   About a minute ago   Up 5 seconds        8080/tcp            myTomcat
    ...
    //执行下面语句,确保已经将container id:407aaf306214的容器停止
    regan@regan-VPCEH15YC:~$ sudo docker rm 407aaf306214  //将container id:407aaf306214容器移除
    407aaf306214
    regan@regan-VPCEH15YC:~$ sudo docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    

    总结:(默认是在root用户下进行)

    1.docker run --name myTomcat -d -p 8080:8080 tomcat:latest :
    启动docker容器并取名为myTomcat(具体启动方式参考docker hub 文档)
    -d:后台运行
    -p 8080(服务器端口):8080(容器端口) 将服务器的端口映射到容器的端口
    --name myTomcat 可以省略
    Tips:如果映射端口失败,请关闭防火墙,或者设置端口开放

    1. docker ps :查看运行中的容器 参数-a 查看所有的容器(包括已经停止)

    3.docker stop 容器id :停止
    4.docker start 容器id :启动
    5.docker rm 容器id :删除
    6.docker logs 容器id :查看容器的日志
    点击查看官方命令文档

    参考博客

    Ubuntu系统下载安装启动Docker
    【 全干货 】5 分钟带你看懂 Docker !

    推荐网站

    Docker中文社区

    Docker入门教程

    菜鸟教程-docker教程

    相关文章

      网友评论

          本文标题:Ubuntu下安装Docker和使用

          本文链接:https://www.haomeiwen.com/subject/gmzsfctx.html