一:Docker 基本命令

本文详细介绍Docker的基本命令,包括镜像和容器的操作,资源控制,以及如何在不同系统中安装软件。涵盖从下载镜像、启动容器到管理容器的全过程,并提供在CentOS、Alpine、Debian等系统中安装软件的具体步骤。
摘要由CSDN通过智能技术生成

docker服务端是一个服务进程,管理所有容器
docker客户端是服务端的远程控制器,用来控制docker的服务进程

宿主机下载镜像

镜像相关命令

docker search mysql   #下载镜像前可以使用 docker search 命令搜索官方共享仓库
docker pull jenkins/inbound-agent   #找到想要的镜像,下载
#Digest: sha256:ef3d5dee8a70409083ff64782af1fdb86ceea6907ef8b81ee1e63def5707522c
#Status: Downloaded newer image for jenkins/inbound-agent:latest
#docker.io/jenkins/inbound-agent:latest

docker save -o inbound-agent.tar.gz jenkins/inbound-agent:latest #镜像保存为离线文件

docker tag  旧镜像    新名称:新标签      #为镜像添加标签
docker tag bdde0a469c0b jenkins-slave-latest:v2  #对镜像修改标签
docker images   #查看下载到本地的所有镜像
docker  rmi  镜像名:标签     #删除镜像

docker load -i jenkins-slave-latest.tar.gz #加载离线镜像至docker镜像

随着本地存出的镜像越来越多,就需要指定专门的仓库存放镜像,默认是上传到Docker Hub
使用docker login 输入用户名密码邮箱完成注册和登录,在上传镜像前还要对本地镜像打标签,然后在docker push 命令进行上传

docker  push 仓库名称:标签   #命令格式

启动mysql容器

docker run -itd --name mysql-test -p 127.0.0.1:3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql     #安装mysql
# -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口
#外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
#MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。 

-p 宿主机端口:容器端口

登录容器内mysql

mysql -h localhost -uroot -p   #本机进入容器内数据库
docker exec -it mysql bash     #进入容器
mysql -uroot -p   #登录数据库

启动基础容器

docker pull centos:6   #拉取centos6镜像
docker create -it  镜像  /bin/bash   #创建新容器
docker run --name alvin -it centos:7 /bin/bash   #创建容器并命名和启动
docker rename  old_name new_name  #容器改名

注意:容器只有创建的时候没有做端口映射之类操作,只有把该容器作为镜像,在开启另一个新的容器使用之前的镜像

针对容器的相关命令

启动停止删除容器

docker ps -a  #查看当前所有容器
docker start Alvin(容器名)   #启动容器
docker exec -it alvin /bin/bash     #进入容器,alvin是容器名称
docker stop Alvina(容器名)  #关闭容器
docker  rm  alvin:标签   #删除容器
docker rm $(docker ps -a -q)  #删除所有容器
docker stop $(docker ps -a -q)  #停止所有容器
docker update --restart=always 容器名字    #容器自启动

容器的导入导出

不论容器是否在运行,均可导出成文件,传输文件到其他机器,然后使用,实现容器的迁移

docker export   容器ID(或者名称) > 文件名       #导出命令格式
cat  文件名 | docker import -生成的镜像名称:标签  #导入命令格式
docker images | grep 生成的镜像名称  #查看是否存在镜像

资源控制

Cgroup:Linux限制所使用物理资源的机制,包括CPU MEM blkio

docker run --cpu-quota  20000 容器名   #限制CPU使用率,CPU使用率限制在20%(CPU百分比以1000为单位)
docker run -m  512 容器名   #限制MEM使用率,限制容器的内存为512M

注意:一旦容器Cgroup使用的内存超过了限制的容量,Linux内核会尝试收回这些内存,如果仍旧无法控制内存在使用率以内,进程会被杀死

图形化管理docker:

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer #创建portainer 

访问你的 IP:9000 即可进入容器管理页面

可视化化管理docker:

$ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v ~/.config/lazydocker:/.config/jesseduffield/lazydocker lazyteam/lazydocker

在这里插入图片描述

容器内安装软件

首先需要确认当前容器是什么系统

docker ps -a #查看你要登录的容器的解释器是啥
docker exec -it -u root dda09517cd46 /bin/bash   #指定用户root,进入容器
cat /etc/os-release #查看操作系统

在这里插入图片描述

centos/redhat软件安装

yum install -y 软件名   #centos/redhat

Alpine软件安装

apk update   #软件更新
apk add 软件名   #Alpine

Debian软件安装

包含 Debian,Ubuntu,Deepin,Raspbian 等发行版本

apt update -y   #更新软件列表
apt-get 软件名   #ubuntu
apt search 关键字  #搜索软件
apt show 软件包名   #显示软件包详情
apt install 软件包名  #安装软件
apt remove 软件包名  #卸载软件
apt remove 软件包名 --purge   #卸载软件并删除配置文件
apt autoremove 软件包名    #卸载软件并移除软件依赖
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值