docker命令

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: docker安装及常用命令

一、liunx安装

官网地址:https://docs.docker.com/engine/install/centos/
1、卸载原有的
sudo yum remove docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-engine
2、安装需要的软件包
sudo yum install -y yum-utils
3、设置yum源
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4、安装最新docker 都按y
sudo yum install docker-ce docker-ce-cli containerd.io
5、可选择指定版本
    查看版本
    yum list docker-ce --showduplicates | sort -r
    安装指定版本 VERSION_STRING填写需要的版本
    sudo yum install docker-ce-19.03.13 docker-ce-cli-19.03.13 containerd.io
6、启动docker
sudo systemctl start docker
7、配置镜像加速器 这里使用阿里云
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://kmu7ei4b.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、docker服务相关命令

1、启动docker 或重新启动
sudo systemctl start docker || sudo systemctl restart docker
2、查看状态
sudo systemctl status docker
3、停止docker
sudo systemctl stop docker
4、开机启动docker
sudo systemctl enable docker

三、docker镜像相关命令

镜像仓库:https://hub.docker.com/
1、查看本地镜像 || 查看镜像id
docker images || docker image ls || docker image ls -q
2、搜索镜像
docker search redis
3、拉去镜像
docker run redis 没有版本号默认最新
4、删除镜像
docker rmi 镜像id

四、docker容器相关命令

1、查看容器 
docker ps  || docker ps  -a || docker ps  -aq
2、创建容器
docker run -it --name=redis 镜像id /bin/bash
后台运行容器
docker run -id --name=redis 镜像id 
-i:保持容器运行。通常与-t同时使用,加入it这两个参数后,容器创建后自动进入容器中,推出容器后容器自动关闭
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-d:以后台模式运行容器,创建一个容器在后台运行,需要使用docker exec进入容器,容器退出后不会关闭
-it:创建的容器一般称为交互式容器,-id:一般称为守护式容器
--name:为创建的容器命名
3、进入容器
docker exec -it 运行中id /bin/bash
4、启动容器
docker start 容器id
5、停止容器
docker stop 容器id
6、删除容器 || 删除所有容器
docker rm 容器id || docker rm docker ps  -aq
7、查看容器信息
docker inspect 容器did

五、docker容器的数据卷

1、配置数据卷
创建容器时使用-v参数设置数据卷
docker run -v宿主机目录(文件):容器内目录(文件)
2、数据卷容器
    创建启动c3数据卷容器,使用-v参数设置数据卷
    例:docker run -it --name=c3 -v /volume contos:7 /bin/bash
    创建c1\c2容器,使用--volumes-from参数设置数据卷
    例:docker run -it --name=c1 --volumes-from c3 contos:7 /bin/bash
    例:docker run -it --name=c2 --volumes-from c3 contos:7 /bin/bash

六、docker部署应用

1、mysql部署
    docker run -id \
    -p 3307:3306 \
    --name=mysql \
    -v $PWD/conf:/etc/mysql/conf.d \
    -v $PWD/logs:/logs \
    -v $PWD/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=root$#1234A \
    镜像id
    参数说明
        -p 3307:3306:将容器的3306端口映射到宿主机的3307端口
        -v $PWD/conf:/etc/mysql/conf.d:将宿主机当前目录下的conf挂载到容器
        -v $PWD/logs:/logs:日志数据卷挂载
        -v $PWD/data:/var/lib/mysql:数据目录挂载
        -e MYSQL_ROOT_PASSWORD=root$#1234A:初始化root用的密码

七、dockerfile

1、容器转镜像
    docker commit 容器id 镜像名称:版本号
2、dockerfile
关键词 作用 备注
FROM 指定父镜像 指定dockerfile基于哪个image构建
MAINTAINER 镜像维护者的名字和邮箱地址
LABEL 为镜像指定标签 用来表明dockerfile标签 可以使用label代替maintainer
RUN 执行命令 执行一段命令 默认时/bin/sh 格式:RUN command或者RUN ["command","param1","param2"]
CMD 容器启动命令 提供启动容器的时候默认命令和ENTRYPOINT配合使用,格式:CMD command param1 param2或者CMD ["command","param1","param2"]
ENTRYPOINT 入口 一般在制作一些执行就关闭的容器中会使用
COPY 复制文件 build的时候复制文件到image
ADD 添加文件 build的时候添加文件到image中,不仅仅局限于当前build上下文 可以来源于远程服务
ENV 环境变量 指定build时候的环境变量 可以在启动容器的时候通过-e覆盖 格式:ENV name=value
ARG 构建参数 构建参数只在构建的时候使用的参数
VOLUME 定义外部可以挂载的数据卷 指定build的image那些目录可以启动的时候挂载到文件系统中 启动容器的时候使用-v绑定格式VOLUME [“目录”]
EXPOSE 暴露端口 定义容器运行的时候监听的端口 启动容器的时候使用 -p来绑定暴露端口
WORKDIR 工作目录 指定在创建容器后,终端默认登录的工作目录。(也就是你登录进某个容器的时候,默认的目录)
ONBUILD 触发器 当构建一个被继承的 Dockerfile时运行命令,父镜像在被子继承后父镜像的 ONBUILD被触发(子镜像继承了父镜像 的dockerfile,父镜像有ONBUILD定义,那么这个子镜像继承过去了ONBUILD,ONBUILD会执行)

​ 3、构建
​ docker build -f dockerfile文件名 -t 需启动的应用名
八、docker-compose官网地址: https://docs.docker.com/compose/install/
​ 1、安装docker-compose
​ 安装
​ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
​ 设置权限
​ sudo chmod +x /usr/local/bin/docker-compose
​ 查看版本
​ docker-compose --version
​ 删除
​ sudo rm /usr/local/bin/docker-compose
​ 启动docker-compose
​ docker-compose up 需后台启动加-d

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
前端开发 关系型数据库 MySQL
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
|
1天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
|
2天前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs &lt;container_name&gt;` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
5 0
|
16天前
|
应用服务中间件 Docker 容器
docker 镜像常用命令
docker 镜像常用命令
37 0
|
16天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
13 0
|
24天前
|
JSON 缓存 程序员
Docker常用命令以及生命周期管理
Docker常用命令以及生命周期管理
45 2
|
27天前
|
开发工具 Docker 索引
Docker解决没有vi、vim等命令
Docker解决没有vi、vim等命令
51 0
|
1月前
|
监控 数据可视化 虚拟化
Docker容器常用命令笔记分享
Docker容器常用命令笔记分享
50 2
|
1月前
|
NoSQL 应用服务中间件 nginx
Docker命令实战
Docker命令实战
61 1
|
1月前
|
关系型数据库 MySQL 数据库
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
43 0