Docker Hello World

本文记录于2020/4/18,注意时效性

Docker官方文档
安装
使用手册

Docker安装

以Centos为例安装Docker(Centos版本需要为7.x)

  1. 如果之前有安装过老版本的docker,先卸载老版本执行
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 安装yun-utils,(如果已经安装yum-utils可省略此步骤)
sudo yum install -y yum-utils
  1. 设置Docker仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  1. 正式安装Docker
 sudo yum install docker-ce docker-ce-cli containerd.io

5.启动Docker

sudo systmectl start docker

DockerHub国内镜像配置

Docker拉取镜像默认源在国外,由于人尽皆知的原因访问较慢或无法访问。所以需要将拉取镜像的位置换为国内。

  • 登陆阿里云服务平台,可使用支付宝登陆。
  • 在产品服务中找到镜像服务
  • 开通镜像服务并在镜像中心下找到镜像加速器


  • 再找到/etc/docker/daemon.json(如果没有就创建一个)在其中将绿色部分文本粘贴进入。
  • 重启Dockersudo systemctl restart docker
  • 享受高速(⊙﹏⊙)
  • Docker基础命令

    docker pull
    拉取容器镜像

    docker images
    查看当前容器列表

    docker ps
    查看当前正在运行的实例

    docker run 实例id
    启动容器,常用参数
    -i 即使没有连接到容器实例也让容器实例的标准输入处于打开状态
    -t开启一个虚拟终端
    -d在后台运行该实例
    -p端口映射
    -v绑定卷,类似一个磁盘映射

    docker stop 实例id 停止正在运行的实例

    详见https://docs.docker.com/reference/

    Docker hello-world

    万物基于hello world docker官方为我们提供了一个hello-world供我们测试docker是否安装成功。现在运行它。

    sudo docker run hello-world
    


    出现这个画面表示安装成功(值得注意的是docker拉取容器镜像的命令是docker pull,但当我们运行某个容器时如果docker在本地没有找到就会去docker hub上拉取并运行。)
    输入sudo docker images查看刚刚拉去到的hello-word

    Docker without sudo

    现在已经成功安装并运行了Docker,但有一个小问题我每次使用docker命令的时候都要加sudo这很麻烦对我来说也没必要。
    使用gpasswd -a 用户名 docker将你的用户加入到docker用户组即可省略sudo命令。

    运行一个Tomcat容器

    前面已经看到要运行某个容器可执行docker run 容器名/容器id,但为了更清晰运行过程我决定先拉取tomcat容器镜像再执行它。
    执行docker pull tomcat拉取容器镜像,默认拉取最新版镜像即标签为latest(是DockerHub上的最新镜像而不知最新版tomcat)如果想使用特定版本的tomcat请使用docker pull tomcat:标签名


    使用docker images可以查看当前你的docker中有那些容器镜像


    现在使用docker run tomcat运行刚刚拉取的容器。

    啊,熟悉的tomcat启动界面。
    但是,现在使用浏览器访问刚刚启动的tomcat是会失败的,因为我们启动时缺少一个参数 -p-p可以指定容器内端口与宿主机端口映射关系其格式为-p 宿主机端口号:容器端口号。现在加上端口号试一试docker run -p 8080:8080 tomcat。我使用的是虚拟机虚拟机ip为192.168.64.137。访问192.168.64.137:8080


    啊熟悉的404(⊙﹏⊙)

    但是我想放一个自己写的页面怎么办呢,这时就需要另一个重要的参数-v其作用是将宿主机的文件目录与容器内文件目录绑定。类似与共享目录。首先进入容器内看看容器内tomcat放在了哪里,执行docker run -it tomcat /bin/bash进入容器。后面紧随其后的/bin/bash表示替换容器启动时执行的命令为/bin/bash。(详见docker run

    可以看到容器内tomcat路径为/usr/local/tomcat。

    退出容器执行docker run -d -p 8080:8080 -v /home/alming/wxm:/usr/local/tomcat/webapps tomcat

    容器现在已经启动,下图是容器映射的目录映射关系为:
    宿主机/home/wxm->容器/usr/local/tocmcat/webapps
    wxm下还有一个wxm文件夹,里面有一张小哎咪.jpg



    输入192.168.64.137:8080/wxm/fxe.jpg看看可爱的小哎咪吧。



    大幻梦森罗万象狂气断罪眼 2333
    posted @   小艾咪  阅读(13)  评论(0编辑  收藏  举报  
    相关博文:
    阅读排行:
    · 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
    · 使用C#创建一个MCP客户端
    · ollama系列1:轻松3步本地部署deepseek,普通电脑可用
    · 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
    · 按钮权限的设计及实现
    点击右上角即可分享
    微信分享提示