Linux docker安装步骤及常用命令

1、先下载安装包并上传到服务器, 这里下载的是20.10.7版本,并上传到 /root/docker目录

在这里插入图片描述

下载地址:https://download.docker.com/linux/static/stable/x86_64/

2、新建安装命令文件和卸载命令文件

2.1安装命令文件 install.sh

#!/bin/sh
echo '解压tar包...'
tar -xvf $1
echo '将docker目录移到/usr/bin目录下...'
cp docker/* /usr/bin/
echo '将docker.service 移到/etc/systemd/system/ 目录...'
cp docker.service /etc/systemd/system/
echo '添加文件权限...'
chmod +x /etc/systemd/system/docker.service
echo '重新加载配置文件...'
systemctl daemon-reload
echo '启动docker...'
systemctl start docker
echo '设置开机自启...'
systemctl enable docker.service
echo 'docker安装成功...'
docker -v

2.2卸载命令文件 uninstall.sh**

#!/bin/sh
echo '删除docker.service...'
rm -f /etc/systemd/system/docker.service
echo '删除docker文件...'
rm -rf /usr/bin/docker*
echo '重新加载配置文件'
systemctl daemon-reload
echo '卸载成功...'

3、新建docker.service 文件

docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

4、给命令文件赋执行权限

chmod +x install.sh
chmod +x uninstall.sh

5、执行安装命令进行安装

./install.sh docker-20.10.7.tgz

执行完之后如果成功输出docker版本信息,则安装成功
在这里插入图片描述

6、卸载docker

./uninstall.sh

7、docker常用命令

7.1、docker 基础命令

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启docker

systemctl restart docker

docker设置随服务启动而自启动

systemctl enable docker

查看docker 运行状态
------如果是在运行中 输入命令后 会看到绿色的active

systemctl status docker
在这里插入图片描述

docker版本信息

docker veriosn
docker -v
docker info

docker 帮助命令

docker --help

7.2、docker 镜像命令

查看镜像列表

docker images

搜索镜像

docker search 镜像名称

拉取镜像
不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本
docker hub地址

可在经常仓库查看具体拉取命令可在经常仓库查看具体拉取命令

docker pull 镜像名
docker pull 镜像名:tag

镜像运行 --拉取一个tomcat运行

docker run -d -p 8081:8080 --name tomcat001 镜像名
docker run -d -p 8081:8080 --name tomcat001 镜像名:tag

EX

docker pull tomcat
docker run tomcat

删除镜像

#删除一个
docker rmi -f 镜像名/镜像ID

#删除多个,用空隔隔开即可
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID

#删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)

#强制删除镜像
docker images rm 镜像名/镜像ID

保存镜像
##将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字

加载镜像

docker load -i 镜像保存文件位置
如: docker load -i myimg.tar

7.3 容器命令

查看正在运行的容器列表

docker ps

查看所有容器列表

docker ps -a

运行一个容器

docker run -itd --name 容器名称 -p 8081:8080 镜像名称:tag / 镜像ID
-p 宿主机端口:容器端口,外部需要访问8081才行
–name 为容器指定别名
-d 容器后台运行,否则Ctrl+c或关闭窗口会导致容器退出
-it:指以交互形式启动

停止容器

docker stop 容器ID/容器名

删除容器

docker rm -f 容器ID/容器名
docker rm -f 容器ID/容器名 容器ID/容器名 容器ID/容器名 容器ID/容器名 ##删除多个容器
docker rm -f $(docker ps -aq) 删除全部容器

启动容器

docker start 容器ID/容器名

重启容器

docker restart 容器ID/容器

查看容器日志

docker logs -f --tail=要查看末尾多少行 默认all 容器ID

容器设置跟随docker自启动

docker run -itd --name redis001 -p 8088:6379 --restart=always 容器名:tag/容器ID
docker run -d -p 8081:6379 --name redis505 --restart=always -v /var/lib/redis/data/:/data -v /var/lib/redis/conf/:/usr/local/etc/redis/redis.conf redis:latest --requirepass “password”

提交镜像
有时候需要在基础镜像上做修改,然后保存为新的镜像

docker commit -m=“提交信息” -a="作者信息“ 容器名/容器ID 提交后的镜像名:tag

例如:
先拉取一个tomcat镜像,然后启动容器并访问8080,如下图:

docker pull tomcat
docker run -d -p 8080:8080 --name tomcat tomcat:latest

在这里插入图片描述
这是因为拉取的tomcat基础镜像,webapps目录下是空的,可进入tomcat容器内查看
在这里插入图片描述
把 webapps.dist 下的文件拷贝到 webapps下,然后提交打包成新镜像

cp -r webapps.dist/* webapps
exit ##退出容器
docker commit -m=“打包镜像” -a=“feifei” 2616dd329656 tomcat:1.0
docker images

停止之前启动的tomcat容器并删除

docker stop 容器ID
docker rm -f 容器ID

启动新打包的镜像

docker run -d -p 8081:8080 --name tomcat001 tomcat:1.0

在这里插入图片描述

7.4运维命令

查看docker工作目录

sudo docker info | grep “Docker Root Dir”

查看docker磁盘占用总体情况

du -hs /var/lib/docker/

查看Docker的磁盘使用具体情况

docker system df

删除 无用的容器和 镜像

##删除异常停止的容器
docker rm docker ps -a | grep Exited | awk '{print $1}'
##删除名称或标签为none的镜像
docker rmi -f docker images | grep '<none>' | awk '{print $3}'

清除所有无容器使用的镜像
注意,此命令只要是镜像无容器使用(容器正常运行)都会被删除,包括容器临时停止

cker system prune -a

查找大文件

find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr

查找指定docker使用目录下大于指定大小文件

find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr |grep '/var/lib/docker/overlay2/
ex:我这里是查找 /var/lib/docker/overlay2/
开头的且大于100m的文件
在这里插入图片描述

docker安装以及相关命令介绍就写到这了

[参考链接] https://blog.csdn.net/leilei1366615/article/details/106267225

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值