Getting started with Docker

As a software containerization platform, Docker allows developers to build an application, package it into a container together with its dependent environment, and then easily publish and apply it to any platform.

Docker has three cores: warehouse, image, and container.

core effect
storehouse Remote warehouse: developer images and official images.
Local warehouse: only saves the images you currently use and custom images.
Function: used to store docker image locations.
mirror Function: An image represents a software
container Function: When an image is run once, an instance will be generated,
that is, a container will be generated.

Containers are instantiated from images.
Simply put, images are files and containers are processes.
Containers are created based on images, that is, the processes in the container depend on the files in the image.

Docker example steps: docker installation—>image loading—>container running

Firewall (used by Docker)

Docker applications need to use various ports and modify the firewall settings one by one. It’s very troublesome, so I suggest you turn off the firewall directly!
Before starting docker, be sure to turn off the firewall! !
Used to open application ports

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 commands

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

Mirror related commands

# 查看镜像
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)

Run container

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

Container related commands

# 查看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:路径

Guess you like

Origin blog.csdn.net/qq_20236937/article/details/134548623