# 检查 SELinux 状态
sestatus
# 暂时禁用 SELinux 此命令将 SELinux 模式从target改为permissive
sudo setenforce 0
# 永久禁用 SELinux
1. sudo vi /etc/sysconfig/selinux
2. 将SELINUX=enforcing指令更改为SELINUX=disabled
3. 保存编辑的文件
4. 重启 CentOS 以保存更改 sudo shutdown -r now
5. sestatus 检查 SELinux 状态为 disabled
# 查看防火墙状态
sudo systemctl status firewalld
# 临时关闭防火墙
sudo systemctl stop firewalld
# 临时打开防火墙
sudo systemctl start firewalld # 重启会恢复回原来的状态
sudo systemctl enable firewalld # 重启不会恢复到原来的状态
# 永久关闭防火墙
sudo systemctl disable firewalld
# 更新软件源中的所有软件列表
sudo apt-get update
# 更新软件
sudo apt-get upgrade
# 更新系统版本
sudo apt-get dist-upgrade
# 常用更新命令
sudo apt-get update && sudo apt-get dist-upgrade -y
# 查看正在运行的容器
docker ps
# 查看所有容 包括停止的容器
docker ps -a
# -q参数,只显示container id
docker ps -q
# 查看容器详细信息
docker inspect demo1
# 新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;--name 为容器指定一个名称
docker run -i -t --name mycentos 镜像名称/镜像ID
# 后台启动容器,参数:-d 已守护方式启动容器
docker run -d mycentos
# 启动止容器
docker start 容器id
# 重启容器
docker restart 容器id
# 关闭容器
docker kill 容器id
docker stop 容器id
-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器
# 使用run方式在创建时进入
docker run -it centos /bin/bash
# 关闭容器并退出
exit
# 仅退出容器,不关闭
快捷键:Ctrl + P + Q
快捷键:Ctrl + Shift + P + Q
# 进入当前正在运行的容器
# 通常容器使用后台的方式运行,需要进入容器,修改一些配置;
docker exec -it 容器id bashShell(/bin/bash) # 方式一 exec: 进入容器后,开启一个新的终端,可以再里面操作
docker attach 容器id bashShell(/bin/bash) # 方式二 attach:进入容器正在执行的终端,不会启动新的终端进程
# top支持 ps 命令参数,格式:docker top [OPTIONS] CONTAINER [ps OPTIONS]
# 列出redis容器中运行进程
docker top tomcat
# 查看所有运行容器的进程信息
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
# 查看redis容器日志,默认参数
docker logs tomcat
# 查看redis容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;--tail 仅列出最新N条容器日志;
docker logs -f -t --tail=20 redis
# 查看容器redis从2021年08月10日后的最新10条日志。
docker logs --since="2021-08-10" --tail=10 redis
# 命令语法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
# OPTIONS说明:
-L :保持源目标中的链接
# 命令实例
# 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
# 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www
docker cp /www/runoob 96f7f14e99ab:/www
# 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中
docker cp 96f7f14e99ab:/www /tmp/
# 查看本地docker镜像
docker images
# 具体列解释含义:
REPOSITORY # 镜像仓库源
TAG # 镜像的标签
IMAGE ID # 镜像id
CREATED # 创建时间
SIZE # 大小
docker images -a # 列出本地所有的镜像
docker images -q # 只显示镜像ID
docker images --digests # 显示镜像的摘要信息
docker images --no-trunc # 显示完整的镜像信息
# 从Docker Hub上查找tomcat镜像
docker search tomcat
# 从Docker Hub上查找关注度大于300的tomcat镜像
docker search --filter=stars=300 tomcat
NAME # 名称
DESCRIPTION # 描述
STARS # 点赞,关注度,类似GitHub
OFFICIAL # 是否官方
AUTOMATED # 是否自动构建
# #从Docker Hub上下载tomcat镜像,默认是最新版本。等价于:docker pull tomcat:latest
docker pull tomcat
# 选择指定版本下载
docker pull tomcat:8
# 单个镜像删除,相当于:docker rmi java:latest
docker rmi java
# 强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
docker rmi -f java
# 多个镜像删除,不同镜像间以空格间隔
docker rmi -f java tomcat nginx
# 删除本地全部镜像
docker rmi -f $(docker images -q)
# 启动应用服务
docker-compose up
# 后台执行该服务
docker-compose up -d
# 停止up命令所启动的容器,并移除网络
docker-compose down
# 列出项目中目前的所有容器
docker-compose ps