docker快速入门 - Go语言中文社区

docker快速入门


前言

本文是我快速入门实操docker的记录,用于作业和备忘,并不介绍基本概念。
关于docker的最好的学习文档是官方文档
https://docs.docker.com/
其次可以参考每天5分钟玩转 Docker 容器技术

docker 实操记录

准备docker环境

https://docs.docker.com/install/处可以查询各个系统的docker的安装方式,我在ubuntu18.04上测试,安装教程见官网https://docs.docker.com/install/linux/docker-ce/ubuntu/

本次直接选择从仓库中can安装,过程为:

  1. 更新包目录
    $ sudo apt-get update
    
  2. 安装使apt能够使用https的包
    $ sudo apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        gnupg-agent 
        software-properties-common
    
  3. 添加docker的官方GPG密钥
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 添加docker stable 仓库
    $ sudo add-apt-repository 
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
    $(lsb_release -cs) 
    stable"
    
  5. 更新包目录
    $ sudo apt-get update
    
  6. 下载docker
    $ sudo apt-get install docker-ce docker-ce-cli containerd.io`
    
  7. 运行helloworld判断是否成功安装docker
    $ sudo docker run hello-world
    
    在这里插入图片描述
    docker运行时检测没有文件回自动从docker仓库里下载,运行helloworld后输出以上结果说明docker正常运行。

docker基本命令

注:如果没有配置用户权限,则docker命令应该在sudo下运行。

  1. 运行镜像

    $ docker run -it ubuntu bash
    

    参数-t让docker分配一个伪终端并绑定在容器的标准输入上,-i让容器的标准输入保持打开。
    运行后会显示一个ubuntu容器的bash界面,可以在上面敲命令。
    在这里插入图片描述

  2. 显示本地镜像库
    $ docker images
    在这里插入图片描述

  3. 获取帮助

    $ docker --help
    

    以下是显示的管理命令,望文生义即可

    Management Commands:
      builder     Manage builds
      config      Manage Docker configs
      container   Manage containers
      context     Manage contexts
      engine      Manage the docker engine
      image       Manage images
      network     Manage networks
      node        Manage Swarm nodes
      plugin      Manage plugins
      secret      Manage Docker secrets
      service     Manage services
      stack       Manage Docker stacks
      swarm       Manage Swarm
      system      Manage Docker
      trust       Manage trust on Docker images
      volume      Manage volumes
    
  4. 显示运行中的容器

    $ docker ps
    
  5. 显示所有容器(包括已停止)

    $ docker ps -a
    

MySQL与容器化

  1. 拉取mysql镜像

    $ sudo docker pull mysql:5.7
    

    根据网络环境,可能会下载很长时间
    下载完后截图: 在这里插入图片描述

  2. Dockerfile介绍
    Dockerfile 给出了docker的构建过程,如上述mysql的Dockerfile为https://github.com/docker-library/mysql/blob/master/5.7/Dockerfile
    一般有如下字段:

    FROM base_image
    RUN shell_commands
    ENV env_vars
    VOLUME path
    COPY source destination
    ENTRYPOINT [“executable”,”parm1”, ”parm2”,…]
    EXPOSE ports
    CMD [“executable”,”parm1”, ”parm2”,…]
    

    可以自行配置Dockerfile来构建自己需要的容器。

  3. 使用MySQL容器

    sudo docker run -p 3306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
    

    注意:如果出现端口占用的问题,可以更改监听端口或使用命令netstat -tunlp | grep 端口号 查看占用端口的进程pid,如netstat -tunlp | grep 3306,查到占用端口的进程后杀进程即可。杀进程可以使用kill -9 [pid] 来解决,如进程1234占用端口则直接‘kill -9 1234’(此做法过于暴力,建议通过正常途径关闭进程)
    另外,如果出现多次运行后提示docker名已被使用,要求改名或删除,可以通过docker ps -a查看所有容器,然后通过·docker rm [container id]`来删除,container id不需要输入完整,只需要输入能够与其他container区别的长度即可。
    运行mysql后结果;
    在这里插入图片描述

  4. 启动 MySQL 客户端

    docker run -it --net host mysql:5.7 "sh"
    

    在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/panghch/article/details/103571707
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢