Docker
安装步骤
# 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
# Step 5: centos6 开启Docker服务
sudo service docker start
# centOS7 开启Docker服务
sudo systemctl start docker
镜像配置
容器镜像服务 (aliyun.com)
执行以下命令
测试
docker run hello-world
安装成功
下载安装Tomcat
# 搜索远程仓库
docker search tomcat:8.0
# 下载
docker pull tomcat:8.0
#运行
# -d 后台运行; -p映射端口 --name 启动的名 tomcat:8.0 镜像名
docker run -d -p 9090:8080 --name=tomcat1 tomcat:8.0
# 停止
docker stop tomcat1
# 启动
docker start tomcat1
# 查看
docker ps -a
常用命令
基本命令:
#启动
systemctl start docker
#停止
systemctl stop docker
#重启
systemctl restart docker
#状态
systemctl status docker
#其他命令
docker -v
docker version
docker info
docker --help
镜像命令:
#搜索镜像
docker search 镜像名:版本
#下载镜像
docker pull 镜像名:版本
#查看镜像
docker images
#删除镜像
docker rmi 镜像名|镜像ID
#强制删除
docker rmi -f xxxx
#例子
docker pull tomcat:8.0
docker pull tomcat:9.0
docker pull tomcat:9-jdk8
docker pull mysql:8.0.26
docker pull centos:7
容器命令:
#查看容器
docker ps --a
#删除容器
docker rm 容器名|容器ID
#运行容器
docker run 镜像名:版本
-i 前台启动,独占界面,和-t一起使用
-t 进入默认的终端界面
--name 给容器起名
#例子
docker run -it --name=tomcat1 -p 9090:8080 tomcat:8.0
ctrl+C 退出终端,容器结束
ctrl+P+Q 退出终端,容器运行
-d 后台启动
docker run -d --name=tomcat2 -p 9090:8080 tomcat:8.0
-p 端口映射
外面的程序不能直接访问docker中的IP地址,只能通过宿主机的IP地址和端口来访问Docker中的容器
-v 目录挂载,容器数据卷
将宿主机中的目录和容器中的目录进行管理。修改宿主机中的目录内容,容器中的目录内容会自动更新。
容器数据卷:
无论是宿主机还是容器,目录不存在都会自动创建
宿主机目录支持绝对路径和相对路径
绝对路径:会使用宿主机目录的内容,去覆盖容器目录的内容。如果覆盖或者修改了容器中的核心目录,容器无法启动。
docker run -d --name=tomcat3 -p 9092:8080 -v /adocker/tomcat3/:/usr/local/tomcat/bin tomcat:9
启动失败
相对路径:使用别名,自定义名字,默认创建在/var/lib/docker/volumes目录下
docker run -d --name=tomcat3 -p 9092:8080 -v tomcat3:/usr/local/tomcat/bin tomcat:9
第一次创建,不存在这个目录不会覆盖。存在,有内容,还是会覆盖。
#启动容器
docker start 容器名
#停止容器
docker stop 容器名
#进入容器
docker exec -it 容器名 /bin/bash
同样可以在Docker中安装CentOS,这种容器后台启动必须使用-id,如果只有-d运行以后立即退出。这种容器没有对外监听端口。
Tomcat和Mysql服务类的软件,对应的容器,写-id,-d都一样。这种容器有对外监听端口。