Docker的入门

Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。

docker有3大核心:仓库、镜像、容器 。

核心 作用
仓库 远程仓库:开发者镜像及官方镜像
本地仓库:只保存当前自己使用过的镜像及自定义镜像
作用:用来存放docker镜像位置
镜像 作用:一个镜像就代表一个软件
容器 作用:一个镜像运行一次就会生成一个实例
就是生成一个容器

容器是由镜像实例化而来。
简单来说,镜像是文件,容器是进程。
容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。

docker 实例步骤:docker安装—>镜像载入—>容器运行

防火墙(Docker会用到的)

Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!
启动docker前,一定要关闭防火墙!!
用于应用端口开放

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。
1.启动防火墙
systemctl start firewalld
2.禁用防火墙
systemctl stop firewalld
3.设置开机启动
systemctl enable firewalld
4.停止并禁用开机启动
sytemctl disable firewalld
5.重启防火墙
firewall-cmd --reload
6.查看状态
systemctl status firewalld或者 firewall-cmd --state
7.查看版本
firewall-cmd --version
8.开启防火墙端口
firewall-cmd --zone=public --add-port=端口号/tcp --permanent 
例如:firewall-cmd --zone=public --add-port=9003/tcp --permanent 
9.重新加载配置,使配置生效
firewall-cmd --reload
10.查看开放的端口
firewall-cmd --list-ports

Docker的命令

#查看docker状态(Active:显示为绿色表示启动)
systemctl status docker
#开启docker
systemctl start docker
#停止docker
systemctl stop docker
# 重启docker
systemctl restart docker
#开机自启docker服务
systemctl enable docker

镜像相关的命令

# 查看镜像
docker images
docker images -a #展示所有镜像
docker images -q #只展示镜像的ID
docker images mysql #只展示mysql镜像
# 镜像载入(该方式导镜像,加载的镜像可能没有名称和标签的)
docker load -i 镜像文件
# 重命名镜像名称和标签
docker tag 镜像id name:tag
例如:docker tag 05f1833be2a6 entidaas-apiservice:v1.2.0-SNAPSHOT
# 多次重命名镜像名称和标签,导致出现相同镜像id的镜像,删除一个
docker rmi 镜像名:版本
例如:docker rmi entidaas-apiservice:v1.2.0-SNAPSHOT
# 删除镜像
docker image rm 镜像名:版本或者id标识 # docker image rm mysql:8.0.27
docker image rm -f 镜像名:版本或者id标识 # 强制删除
# 简化删除
docker rmi 镜像名:版本

# 组合运用
# 清空本地仓库所有镜像
docker rmi -f $(docker images -q)

运行容器

# 运行一个容器
docker run 镜像名称:版本号
# 运行容器与宿主机进行映射
docker run -p 8080:8080 镜像名称:版本号
# 启动容器映射端口,后台启动
docker run -p 8080:8080 -d 镜像名称:版本号
# 启动容器映射端口,后台启动,指定名称
docker run -p 8080:8080 --name 容器名称 -d 镜像名称:版本号

容器相关的命令

# 查看docker信息
docker info
# 查看docker版本
docker version
# 帮助命令
docker --help

# 查看"正在运行"的容器
docker ps
# 查看运行容器的历史记录
docker ps -a
# 查看最近运行的两个容器
docker ps -a -n=2
# 查看正在运行的容器id
docker ps -q
# 查看所有容器的id
docker ps -aq

# 容器的启动
docker start 容器名称或者容器id 
# 容器的重启
docker restart 容器名称或者容器id 
# 容器的停止
docker stop 容器名称或者容器id 
docker kill 容器名称或者容器id 

#开启自启
#在docker启动容器可以增加参数来达到,当docker 服务重启之后 自动启动容器,命令如下
docker run --restart=always
#当然如果你的容器已经启动,可以通过update命令进行修改,命令如下:
docker update --restart=always <CONTAINER ID>
#关闭自启
#对某一个容器关闭自启动:
docker update --restart=no <CONTAINER ID>
#组合命令,取消正在运行的容器的自启动,命令如下:
docker update --restart=no $(docker ps -q)



# 容器的删除((慎重删除!!! 不然数据全没了))
docker rm 容器的id或者名称
docker rm -f 容器的id或者名称
docker rm -f $(docker ps -aq)

# 查看日志
docker logs 容器id或名称
# 实时展示日志
docker logs -f 容器id或名称
# 加入时间戳展示实时展示日志
docker logs -tf 容器id或名称
# 查看最后n行日志
docker logs --tail 5 容器id或名称

# 查看容器的内部进程
docker top 容器id或名称

# 与容器内部进行交互
docker exec -it 容器id或名称 bash

# 从容器复制文件到操作系统(用于volumes挂载存在问题时会用到)
docker cp 容器id:路径 操作系统下的路径
# 从操作系统复制文件到容器当中
docker cp 操作系统下的路径 容器id:路径

猜你喜欢

转载自blog.csdn.net/qq_20236937/article/details/134548623