Docker安装部署(详细版)

Docker 安装部署
简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低

安装

# 安装镜像
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 设置稳定仓库
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
sudo yum install -y yum-utils \
>   device-mapper-persistent-data \
>   lvm2

# 如果存在旧docker,卸载旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
# 存储库中列出可用版本
yum list docker-ce --showduplicates | sort -r
# 安装选择的版本,我这里选的是19.03.13  
yum install docker-ce-19.03.13 docker-ce-cli-19.03.13 containerd.io
# 也可以安装最新版
yum -y install docker-ce

# 启动docker
systemctl start docker
# 设置开机自启
systemctl enable docker

调优

最好在服务部署的时候就干调优的事情,对服务影响最小

目录迁移

-- 关闭docker服务
systemctl stop docker
-- 创建迁移后的目录
mkdir -p  /home/jamelli/docker/data/lib
-- 复制原有docker数据到新目录
rsync -r -avz /var/lib/docker /home/jamelli/docker/data/lib
mkdir -p /etc/systemd/system/docker.service.d/
-- 创建docker 映射文件
vi /etc/systemd/system/docker.service.d/devicemapper.conf
保存内容>>
    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd  --graph=/home/jamelli/docker/data/lib/docker
        
-- 重新加载 docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
    
-- 确认docker 路径[Docker Root Dir 属性列]
docker info
-- 确认镜像是否还在
docker images
-- 删除历史docker文件
rm -rf /var/lib/docker/

日志调优

max-file:日志文件上限个数
max-size:日志文件上限大小

 -- log 限制
    vim /etc/docker/daemon.json
    保存内容>>
        {
          "log-driver":"json-file",
          "log-opts": {"max-size":"500m", "max-file":"3"}
        }

业务命令

1.docker system df
    docker自身的内存占用
2.docker system prune
    docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像
3.docker image
    查看docker镜像内容
4.docker info
    查看docker信息
5.docker stats
    查看容器运行内存cpu占用情况
6.docker update --restart=always 容器名称
    设置docker容器开机启动
7.less /var/lib/docker/containers/容器ID/容器ID-json.log
    docker 容器日志路径日志内容查询
8.docker logs --tail=10 -f 容器名称/容器id
    docker 容器日志内容实时查看

docker 构建容器时推荐追加的脚本

    -it -d   # 支持后台运行
    -e TZ=Asia/Shanghai      # 指定时区
    -v /etc/localtime:/etc/localtime:ro  # 公用服务器时间
    --restart=always     # 自动重启

 

 


————————————————
版权声明:本文为CSDN博主「疯狂小草」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jamel_LiToo/article/details/109768177

posted @ 2022-08-16 10:09  风中追风boy  阅读(1332)  评论(0编辑  收藏  举报