Skip to content

基础篇

安装

下载关于Docker的依赖环境

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

安装Docker

shell
yum makacache fast
yum -y install docker-ce

启动并设置为开机自动启动

shell
#启动Docker服务
systemctl start docker
#设置开机自动启动
systemctl enable docker

中央仓库

国外

shell
#Docker Hub:    https://hub.docker.com/
#Quay: https://quay.io/search

国内

shell
#网易: https://c.163yun.com/hub#/m/home/  (需登录)
#阿里云:https://cr.console.aliyun.com/cn-beijing/instances/images  (需登录)
#DaoCloud 道客网络: https://hub.daocloud.io/

私服

shell
#需要在/etc/docker/daemon. json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["ip:port"]
}
#重启两个服务
systemctl daemon-reload
systemctl restart docker

镜像的操作

将镜像拉取到本地

shell
#docker pull镜像名称[:tag]
docker pull daocloud.io/library/tomcat:8.5.15-jre8

注意:

截止到2024上面示范镜像源已经失效,建议去官方渠道找镜像。

查看本地全部的镜像

shell
docker images

删除本地镜像

shell
docker rmi  镜像标识
#删除全部镜像
docker rmi $(docker ps -q)

镜像的导入与导出(不规范)

shell
#将本地镜像导出
docker save -o  导出的路径  镜像的id
#举个栗子
docker save -o ./tomcat.image 镜像的id(导出在当前路径的tomcat.image文件中)
#加载本地的镜像文件
docker load -i 镜像文件
#修改镜像名称
docker  tag 镜像id 新镜像名称:版本号

容器的操作

运行容器

shell
#简单操作
docker run 镜像标识|镜像名称[:tag] #(如果本地有该镜像 会直接运行 ,没有会下载再次运行)。
#复杂操作
docker run -d -p #宿主机端口: 容器端口--name 容器名称 镜像的标识|镜像名称[:tag]
#-d: 代表后台运行容器
#-p: 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
#--name: 容器名称:指定容器的名称

查看正在运行的容器

shell
docker ps [-qa]
#-a:查看全部的容器,包括没有运行
#-q:只查看容器得到标识

查看正在运行的容器

shell
docker logs -f 容器id  (看 tomcat 日志)
#-f:可以滚动查看目志的最后几行

进入容器内部

shell
docker exec -it 容器id bash #进入:
exit #退出:

删除容器

shell
#停止指定的容器
 docker stop 容器id
#停止全部容器
docker stop  $(docker ps -qa)
#删除指定容器
docker rm 容器id
#删除全部容器
docker rm  $(docker ps -qa)

提示

删除容器前,需要先停止容器

将war包复制到tomcat

shell
docker cp Doker.war 0e:/usr/local/tomcat/webapps/(0e 代码容器运行id)

数据卷

为了部署SSM的工程,需要使用到cp的命令将宿主机内的xxx.war文件复制到容器内部。 数据卷:将宿主机的一个目录映射到容器的一个目录中。 可以在宿主机中操作目录的内容,那么容器内部映射的文件,也会跟着一起改变。

创建数据卷

shell
docker  volume create 数据卷名称
#创建数据卷之后,默认会存放在一个目录下  /var/lib/docker/volumes/数据卷名称/_data

查看数据卷的详细信息

shell
docker volume inspect 数据卷名称

查看全部数据卷

shell
docker volume ls

删除数据卷

shell
docker volume rm 数据卷名称

应用数据卷

当你映射数据卷时,如果数据卷不存在,Docker会帮你自动创建,会将容器自带的文件,存储在默认的存放路径中

shell
#创建数据卷
docker rum -v  数据卷名称:容器内部的路径 镜像id
#直接指定一个路径作为数据卷的存放位置。这个路径下是空的需要手动往里面设置值
docker run -v  路径:容器内部的路径  镜像id

自定义镜像

中央仓库上的镜像,也是Docker的用户自己上传过去的。

shell
#创建一个Dockerfile文件夹,并且指定自定义镜像信息。
#Dockerfile文件中常用的内容
from: 指定当前自定义镜像依赖的环境
copy:将相对路径下的内容复制到自定义镜像中
workdir:  声明镜像的默认工作目录
cmd: 需要执行的命令 (在workdir下执行的,cmd可以写多的,只以最后一个为准)
#举个栗子,自定义一个tomcat镜像,并且将ssm.war 部署到 tomcat中
from daocloud.io/library/tomcat:8.5.16-jre8
copy Doker.war /usr/local/tomcat/webapps
#2.将准备好的Dockerfile和相应的文件拖拽到linux系统中,通过Docker的命令制作镜像
docker build -t 镜像名称:[tag] .
举个栗子
docker run -d -p 8081:8080 --name docker-tomcat 01

Docker Compose

之前运行一个镜像,需要添加大量的参数。 可以通过Docker-Compose编写这些参数。 Docker-Compose可以帮助我们批量的管理容器。 只需要通过一个docker-compose.yml文件去维护即可。

下载

https://pan.baidu.com/s/1nYVGTS7T8bq0V1S551gwCA

shell
然后拖拽放入到linux中
mv docker-compose-Linux-x86_64  docker-compose 修改名字
变成可执行文件
chmod 777 docker-compose

配置环境变量

shell
#将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件,给/usr/local/bin配置到PATH中
mv docker-compose /usr/local/bin
vi /etc/profile
       export PATH=$JAVA_HOME:/usr/local/bin:$PATH
source /etc/profile
#测试 
在任意目录下输入
docker-compose

查看日志

shell
#查看日志
docker-compose logs -f