Docker入门及常用命令大全

docker简介

Docker 是一个开源的应用容器引擎,容器是完全使用沙箱机制,相互之间不会有任何接口,基于 Go 语言 。

docker的优点

  1. 更快速的交付和部署
  2. 高度可移植
  3. 在同一硬件上运行更多工作负载

docker为什么比虚拟机快

  1. Docker有着比虚拟机更少的抽象层
  2. Docker利用的是宿主机的内核

docker镜像库

https://hub.docker.com

docker安装

可参考: https://www.runoob.com/docker/centos-docker-install.html

  1. 卸载旧版本(如果有)
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 安装所需的软件包
yum install -y yum-utils
  1. 设置稳定的仓库(以下使用阿里云)
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新yum软件包索引
yum makecache fast
  1. 安装docker(ce:社区版; ee:企业版)
yum install docker-ce docker-ce-cli containerd.io
  1. 启动docker
systemctl start docker
  1. 查看docker版本
docker version

docker 迁移

  1. 查看镜像存放的目录(默认存放目录 /var/lib/docker)
docker info 
  1. 停止docker服务
systemctl stop docker.service
  1. 在挂载的磁盘目录下创建存放镜像目录
mkdir -p /data/var/lib
  1. 迁移镜像文件
mv /var/lib/docker /data/var/lib/docker
  1. 链接到原目录
ln -s /data/var/lib/docker /var/lib/docker

docker hub

地址:https://hub.docker.com/

docker 安装 consul

docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect 1 -ui -bind=0.0.0.0 -client=0 .0.0.0

docker 安装 mysql

  1. 安装 docker 的mysql 镜像(3306:3306 --本地端口号:容器端口号)
docker run -p 3306:3306 --name mysql_3306  -e MYSQL_ROOT_PASSWORD=123456 -d mysql
  1. 配置mysql
(1)进入镜像中的mysql
  docker exec -it mysql_3306 bash
(2)登录mysql
  mysql -u root -p
(3)修改root 可以通过任何客户端连接
  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

docker常用命令

官方文档:https://docs.docker.com/reference/

version #显示docker的版本信息
—示例:docker version

info #显示docker的系统信息
—示例:docker info

help #显示docker命令帮助信息
—示例:docker --help

search #搜索镜像信息
—示例:docker search mysql #搜索mysql镜像信息
—示例:docker search mysql --filter=stars=3000 #搜索mysql收藏数大于3000的镜像信息

images #查看本地镜像
—示例:docker images
—示例:docker images -q #只显示镜像id

pull #下载镜像信息
—示例:docker pull mysql #下载mysql镜像信息
—示例:docker pull mysql:5.7 #下载mysql镜像信息

rmi #删除镜像
—示例:docker rmi -f 镜像id #删除某个镜像
—示例:docker rmi -f $(docker images -q) #删除全部镜像
—示例:docker rmi -f 镜像id1 镜像id2 #删除多个镜像

run #运行启动容器
—示例:docker run [可选参数] 镜像
[可选参数]
–name #容器名字
-d #后台运行方式
-it #使用交互式方式运行,进入容器
-p #指定容器端口
-P #随机指定端口

exit #退出容器
—示例:exit

Ctrl + P + Q #退出容器,容器不停止
—示例:Ctrl + P + Q

ps #查看容器
—示例:docker ps #查看当前运行的容器
—示例:docker ps -a #查看所有运行过的容器
—示例:docker ps -q #查看当前运行的容器id

rm #删除容器
—示例:docker rm 容器id #删除某个容器
—示例:docker ps -f $(docker ps -aq) #删除全部容器

start #启动容器
—示例:docker start 容器id

restart #重启容器
—示例:docker restart 容器id

kill #删除容器
—示例:docker kill 容器id #删除某个容器

logs #容器日志
—示例:docker logs -tf --tail 10 容器id #显示某个容器的10条日志

top #容器进程信息
—示例:docker top 容器id #显示某个容器的进程信息

inspect #查看容器信息
—示例:docker inspect 容器id #显示某个容器的信息

exec #进入容器(开启新的终端)
—示例:docker exec -it 容器id bash #进入某个容器

attach #进入容器(进入容器当前运行的终端)
—示例:docker exec -it 容器id #进入某个容器

cp #复制文件
—示例:docker cp 容器id:容器地址 主机地址 #复制容器文件到主机

-v #挂载
—示例:docker run -it -v 主机地址:容器地址 容器id
—示例:docker run -it -v 容器地址 容器id #匿名挂载
—示例:docker run -it -v 卷名:容器地址 容器id #具名挂载

commit #提交容器生成新的镜像副本
—示例:docker commit -a=“作者” -m=“信息” 提交的容器id 镜像名:TAG

build #构建镜像
—示例:docker build -f dockerfile路径 -t 镜像名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值