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