按照docker之前,先把镜像给整好,不然下载会很慢或者下载不下来。
推荐阿里云的docker镜像,直接贴上网址:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.54801b113hmKXU

CentOS 7(使用 yum 进行安装)

如果是非root权限需要用sudo

step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

Step 4: 更新并安装Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

安装完成查看docker版本号

[root@localhost ~]# docker -v
Docker version 23.0.2, build 569dd73

docker安装nginx

docker run -d -p 80:80 -v /opt/nginx/html:/usr/share/nginx/html:ro --name my-nginx nginx

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                                       NAMES
9d1d1b783ebc   nginx        "/docker-entrypoint.…"   25 minutes ago   Up 25 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           my-nginx

解释下命令的意思:

  • -d 后台运行
  • -p是端口映射,第一个是当前主机端口,第二个是容器应用的端口
  • -v是挂载卷,第一个是当前主机磁盘的路径(没有的话会自动创建),第二个是容器应用的磁盘路径,后面ro是表示容器里面文件不可操作,只能用外层的文件进行控制。
  • -name是给这个镜像取一个名字,也可以不写
  • 最后nginx就是要下载的镜像,也可以制定到具体的版本号,例如:docker pull nginx:1.18
  • 当然还有一些没用到的,比如:-e:环境变量设置

docker安装tomcat

docker run --name my-tomcat -d -p 8080:8080 -v /opt/tomcat/webapps/ROOT:/usr/local/tomcat/webapps/ROOT tomcat:9.0

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                                       NAMES
1dada388e00c   tomcat:9.0   "catalina.sh run"        19 minutes ago   Up 19 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   my-tomcat
9d1d1b783ebc   nginx        "/docker-entrypoint.…"   28 minutes ago   Up 28 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           my-nginx

编写测试文件:(目的是打开tomcat主目录位置)
echo 123 > index.html

测试tomcat是否正常
[root@localhost ~]# curl http://localhost:8080
123

命令的意思同样参考安装nginx类似,文件挂载(映射)的时候要了解这个镜像的本身目录特性。

常用的docker命令

  1. docker run: 运行一个容器
    -d: 后台运行容器
    -p: 端口映射
    -v: 挂载卷
    -e: 环境变量设置
  2. docker build: 构建一个镜像
    -t: 镜像名称及版本
    -f: Dockerfile 文件路径
  3. docker pull: 拉取一个镜像
  4. docker push: 推送一个镜像
  5. docker images: 列出本地的镜像
  6. docker ps: 列出正在运行的容器
    -a: 列出所有容器
    -q: 只显示容器 ID
  7. docker stop: 停止一个容器
  8. docker rm: 删除一个容器
    -f: 强制删除容器
  9. docker rmi: 删除一个镜像
    -f: 强制删除镜像
  10. docker exec: 在运行中的容器中执行命令
  11. docker-compose: 一种 Docker 容器编排工具,用于定义和运行多个 Docker 容器应用程序。