欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker安装及常用命令

程序员文章站 2024-03-13 17:09:27
...

安装Docker

yum安装gcc相关

yum -y install gcc
yum -y install gcc-c++

卸载旧版本

yum -y remove docker docker-common docker-selinux docker-engine

安装需要的软件包

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

设置stable镜像仓库

yum-config-manger --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

yum makecache fast

安装DOCKER CE

yum -y install docker-ce

启动docker

systemctl start docker

阿里云镜像加速

  • 首先登陆阿里云开发者平台,搜索容器镜像服务并开通,找到自己的加速器地址https://xxxx.mirror.aliyuncs.com
  • 执行语句
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装mysql

拉取mysql镜像

:5.7表示镜像的版本

docker pull mysql:5.7

启动服务

docker run 0p 3306:3306 --name mysql \
> -v /mydata/mysql/log:/var/log/mysql \
> -v /mydata/mysql/data:/var/lib/mysql \
> -v /mydata/mysql/conf:/etc/mysql \
> -e MYSQL_ROOT_PASSWORD=root \
> -d mysql:5.7

参数说明

  • -p 3306:3306: 将容器的3306端口映射到主机的3306端口
  • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
  • -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=root:初始化root的密码

docker常用命令

帮助命令

  • docker version
  • docker info
  • docker --help

镜像命令

  • docker images 列出本机上的镜像
    • docker images -a:列出本地所有镜像(含中间cen镜像)
    • docker images -q:只显示镜像id
    • docker images --digests:显示镜像的摘要信息
    • docker images --no-trunc:显示完整的镜像信息
  • docker search 某个镜像的名字
    • docker search [name] --no-trunc:显示完整的镜像描述
    • docker search [name] -s:列出收藏数不小于指定值的镜像
    • docker search [name] --automated:只列出 automated build 类型的镜像
  • docker pull 某个镜像的名字:下载镜像
    • docker pull 镜像名字:[TAG]:下载指定版本的镜像
  • docker rmi 某个镜像id:删除镜像
    • docker rmi -f 镜像id:删除单个
    • docker rmi -f 镜像名1 镜像名2:删除多个
    • docker rmi -f${docker images -qa}:删除全部

容器命令

  • 新建并启动容器docker run [OPTIONS] IMAGE [CPMMAND][ARG...]
    OPTIONS说明(常用):有些是一个减号,有些是两个减号

    • –name=“容器新名字”: 为容器指定一个名称;
    • -d: 后台运行容器,并返回容器ID,也即启动守护式容器;
    • -i:以交互模式运行容器,通常与 -t 同时使用;
    • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • -P: 随机端口映射;
    • -p: 指定端口映射,有以下四种格式
      • ip:hostPort:containerPort
      • ip::containerPort
      • hostPort:containerPort
      • containerPort
  • 列出当前所有正在运行的容器docker ps [OPTIONS]
    OPTIONS说明(常用):

    • -a :列出当前所有正在运行的容器+历史上运行过的
    • -l :显示最近创建的容器。
    • -n:显示最近n个创建的容器。
    • -q :静默模式,只显示容器编号。
    • –no-trunc :不截断输出。
  • 退出容器

    • exit :容器停止并退出
    • ctrl+P+Q:容器不停止退出
  • 启动容器docker start 容器id或容器名

  • 重启容器docker restart 容器id或容器名

  • 停止容器docker stop 容器id或容器名

  • 强制停止容器docker kill 容器id或容器名

  • 删除已停止的容器docker rm 容器ID

    • docker rm -f ${docker ps -a -q}或docker ps -a -q | xargs docker rm: 一次性删除多个
  • 启动守护式容器docker run -d 容器名

  • 查看容器日志docker logs -f -t --tail 容器id

    • -t加入时间戳
    • -f跟随最新日志打印
    • –tail显示最后多少条
  • 查看容器内运行的进程docker top 容器id

  • 查看容器内部细节docker inspecr 容器id

  • 从容器内拷贝文件到主机上docker cp 容器id:容器内路径 目的主机路径

  • 进入正在运行的容器并以命令行交互

    • docker exec -it 容器id bashShell:在容器中打开新的终端,并且可以启动新的进程
    • docker attach 容器id:直接进入容器启动命令的终端,不会启动新的进程