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

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


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

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 @ 2020-04-18 19:45  小艾咪  阅读(33)  评论(0)    收藏  举报  来源