Docker安装以及命令

Docker

1. Docker安装

官方安装文档:https://docs.docker.com/engine/install/centos/

  • 卸载老版本

sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

  • 安装
yum install -y yum-utils

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

yum install docker-ce docker-ce-cli containerd.io

docker -v
  • 阿里云镜像加速器配置

阿里云–容器镜像服务–镜像工具–镜像加速器–按照操作文档操作

2. Docker常用命令

  • systemctl start docker
  • docker run hello-world
  • docker --help
  • docker images:列出本地主机上的镜像
    • -a:列出本地所有的镜像(含中间映像层)
    • -qa:只显示镜像ID
    • –digests:显示镜像的摘要信息
    • –no-trunc:显示完整的镜像信息
  • docker search XXX:去docker hub上搜索名为XXX的镜像
    • –no-trunc:显示完整的镜像描述
    • -s:列出收藏数不小于指定值的镜像
    • –automated:只列出automated build类型的镜像
  • docker pull XXX:下载XXX镜像
  • docker rmi XXX:删除XXX镜像
    • 删除单个:docker rmi -f 镜像ID
    • 删除多个:docker rmi -f 镜像名1:TAG 镜像名2:TAG
    • 删除全部:docker rmi -f $(docker images -qa)
  • docker run [option] XXX:创建容器例如:docker run -it centos7
    • –name=“XXX”:给容器改名为XXX
    • -d:后台运行容器,并返回容器ID,也就是启动守护式容器
    • -i:以交互模式运行容器,通常与-t同时使用
    • -t:为容器重新分配一个伪输入终端,通常与-i同时使用
    • -P:随机端口映射
    • -p:指定端口映射,有以下四种格式:
      • ip:hostPort:containerPort
      • ip::containerPort
      • hostPort:containerPort
      • containerPort
  • docker ps [option]:查看docker正在运行的容器
    • -a:列出所有
    • -l:显示最近创建的容器
    • -n:显示最近n个创建的容器
    • -q:静默模式,只显示容器编号
    • –no-trunc:不截断输出
  • exit:容器停止退出
  • ctrl+P+Q:容器不停止退出
  • docker start:启动容器
  • docker restart:重新启动容器
  • docker stop:停止容器
  • docker kill:强制停止容器
  • docker rm:删除容器
  • docker ps -a -q | xargs docker rm:一次性删除所有容器
  • docker logs -f -t --tail 容器ID:查看容器日志
  • docker top centos1:查看容器centos1内运行的进程
  • docker inspect 容器ID:查看容器内部细节
  • docker attach:直接进入容器启动命令的终端,不会启动新的进程
  • docker exec -it centos1 /bin/bash:是在容器中打开新的终端,并且可以启动新的进程
  • docker cp 容器ID:容器内路径 目的主机路径
  • docker commit:提交容器副本使之称为一个新的镜像
  • docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
  • docker export 1e560fca3906 > ubuntu.tar:导出容器
  • cat docker/ubuntu.tar | docker import - test/ubuntu:v1:导入

创建redis容器

docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

docker 服务器开机自启动:

1.systemctl is-enabled docker.service  检查服务是否开机启动

2.systemctl enable docker.service  将服务配置成开机启动

3.systemctl start docker.service  启动服务

 

systemctl  相关其他命令:

systemctl disable docker.service 禁止开机启动

systemctl stop docker.service  停止
systemctl restart docker.service  重启

 

//------------------------------------------------------

容器开机启动:

创建容器时候指定restart参数:

docker run    -it -p 6379:6379 --restart=always  --name redis -d redis

对已经创建的容器用docker update 更新:

docker update --restart=always  xxx

 

--restart具体参数值详细信息 :

no - 容器退出时,不重启容器
on-failure - 只有在非0状态退出时才从新启动容器
always - 无论退出状态是如何,都重启容器

3 Docker镜像

  • 一个镜像可以生成多个容器实例
  • 容器是用镜像创建的运行实例
  • 可以把容器看作是一个简易版的linux环境和运行在其中的应用程序

4. Docker容器数据卷

特点:

  • 数据卷可在容器之间共享或重用数据
  • 卷中的更改可以直接生效
  • 数据卷中的更改不会包含在镜像的更新中
  • 数据卷的生命周期一直持续到没有容器使用它为止

添加容器数据卷

  • 直接添加:docker run -v /宿主机地址: /容器地址
  • 用DockerFile添加 VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]

5. DockerFile

  • Dockerfile 是一个用来构建镜像的文本文件,用构建tomcat的DockerFile文件为例
  • 在空目录下创建一个名为DockerFile的文件
mkdir myDockerFile
vim DockerFile
  • 添加如下内容
# volume test
FROM tomcat
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,-------successl"
CMD /bin/bash
  • build生成镜像

docker build -t lvhang/tomcat .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值