架构师之路--docker命令实践整理

news2024/11/23 11:39:58

在这里插入图片描述
安装docker

sudo yum remove docker  docker-client   docker-client-latest     docker-common  docker-latest docker-latest-logrotate docker-logrotate docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
sudo yum install docker-ce docker-ce-cli containerd.io

修改docker镜像源

  vi /etc/docker/daemon.json
  {"registry-mirrors":["http://hub-mirror.c.163.com"]}
  systemctl restart  docker.service

修改docker镜像源2

vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled--log-driver=journald --registry mirror=https://docker.mirrors.ustc.edu.cn' 
systemctl restart  docker.service

启动docker

sudo systemctl start docker

查看镜像

docker images

创建镜像
根据dockerfile创建镜像

 docker build -t dwbtest:1.0.1  -f /path/Dockerfile .

-t 命名 repository标签
-f 指定Dockerfile /path/Dockerfile
在这里插入图片描述

运行的容器生成镜像

 docker commit  容器id centosdwb:1.5.1

删除镜像

docker rmi repositoryname/imageid

删除镜像前需要先删除镜像的容器

docker rm id 

运行镜像
存在容器内systemctl不能用的问题

docker run -d -i -t -p 8080:8080 1ecffb481e56 /bin/bash

可以解决容器内 systemctl不能用的问题

 docker run -itd   -p 8080:8080 --privileged 1ecffb481e56 /usr/sbin/init

如果少/bin/bash,Docker会生成一个Container但是马上就停止了
进出容器
exit离开容器,容器正常运行

docker exec -it 9da /bin/bash

拷贝文件

docker cp autostart.sh d6:/opt/autostart.sh

生成镜像

docker commit  71 centosdwb:1.7

停止重启容器

docker stop 容器ID
docker restart 容器ID

自启动

docker update --restart=always 容器名或容器ID

docker日志
最近30分钟
docker logs --since 30m 3193
指定时间后
docker logs --since=“2023-05-23” --tail=100 containerID
最后100条
docker logs --tail=100 containerID
指定时间段
docker logs --since=“2023-05-23” --until=“2023-05-26” containerID
过滤日志
docker logs --tail=100 containerID | grep -10 “test”
输出日志
docker logs --tail=100 containerID | grep -C 10 “test” >> log.txt
运行tomcat
在这里插入图片描述

docker pull tomcat

Dockerfile

FROM tomcat:latest
MAINTAINER dwb "dwb@qq.com"
WORKDIR /usr/local
RUN rm -rf /usr/local/tomcat/webapps/*
ADD enterprise.war /usr/local/tomcat/webapps/ROOT.war
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
docker build -t dwb/tomcat .
docker run -d -p 8080:8080 dwb/tomcat

启动自己的centos命令

docker run -itd   -p 1022:22 -p 80:80 -p 3306:3306 -p 3307:3307 -p 6379:6379 -p 7500:7500  --privileged=true  f1bf8748e4b9 /usr/sbin/init  --restart=always  --name centosdwb

修改yum镜像源

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum makecache
yum update -y

安装ifconfig
第二种
没有安装

yum install net-tools.x86_64
yum install ifconfig

第一种
没有配置

 ls /sbin/ifconfig
 vim /etc/profile
 export PATH=$PATH:/usr/sbin
 source /etc/profile

开启ssh

yum install -y initscripts openssh-server openssl openssl-devel
service sshd restart
vim /etc/ssh/sshd_config
    修改为
        PermitRootLogin yes
echo 123456 | passwd --stdin root

Docker Compose 安装使用

sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

运行

 docker-compose -f docker-compose.yml up -d

文件传输
获取容器全路径

docker inspect -f '{{.Id}}' 9d26ae1ea83f
9d26ae1ea83f6f0835455c03ee780e2964a77eba5cd0d32d1ffb90cc40a99994

复制容器文件到外面

docker cp 7cbd5eef3e67696ba3777af865bf0971c0aabb108d3a12ab18e908bea603e667:/etc/my.cnf /root/my.cnf

复制外面文件到容器

docker cp  /root/my.cnf 7cbd5eef3e67696ba3777af865bf0971c0aabb108d3a12ab18e908bea603e667:/etc/my.cnf

docker-mysql
拉取镜像

docker pull mysql

启动

docker run -itd --name dwbmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql --lower-case-table-names=1

mysql 远程登录设置

mysql -uroot -p 123456
show master status;
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
alter user 'root'@'%' identified with mysql_native_password by '123456';
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
create user dwb identified by  '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

docker-redis

docker pull redis
创建目录
    | mkdir /docker
    | mkdir /docker/redis
    | mkdir /docker/redis/data
    | touch /docker/redis/redis.conf
    | touch /docker/redis/redis.bash
vim /docker/redis/redis.conf
    | # Redis配置文件
    | # Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
    | daemonize yes
    | # 指定Redis监听端口,默认端口为6379
    | port 6379
    | # 绑定的主机地址,不要绑定容器的本地127.0.0.1地址,因为这样就无法在容器外部访问
    | # bind 0.0.0.0
    | # 持久化
    | appendonly yes
    | notify-keyspace-events Ex
    | protected-mode no

编辑docker启动脚本

vi redis.sh
docker run -p 6379:6379 --name redis -v /docker/redis/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf 
    说明
    | docker run redis # 从redis镜像运行容器
    | -p 6379:6379 # 映射本地6379端口到容器6379端口,前为本地端口
    | --name redis # 设置容器名称为redis,方便以后使用docker ps进行管理
    | -v /docker/redis/redis.conf:/etc/redis/redis.conf # 关联本地/docker/redis/redis.conf文件到容器中/etc/redis/redis.conf,同样,前为本地
    | -v /docker/redis/data:/data # 关联本地/docker/redis/data到容器内/data目录,此为存放redis数据的目录,为方便以后升级redis,而数据可以留存
    | -d # 后台启动,使用此方式启动,则redis.conf中daemonize必须设置为no,否则会无法启动
    | redis-server /etc/redis/redis.conf # 在容器内启动redis-server的命令,主要是为了加载配置
    | 

赋权

sudo chmod 777 redis.sh
启动
    redis.sh
    | # 查看是否已启动
    | docker ps
    | # 如果无法启动或者docker ps中无对应内容,将bash中命令复制出来,删除-d参数启动,查看报错信息
    | # 使用redis-cli或者rdm访问 localhost:6379
    | # 如需访问容器,可使用
    | docker exec -it redis bash
    | # 或直接使用redis-cli访问容器内redis
    | docker exec -it redis redis-cli
    | 

阿里云杭州镜像库
https://cr.console.aliyun.com/repository/cn-hangzhou

登录

docker login --username=*** registry.cn-hangzhou.aliyuncs.com

拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/ *** / ***:centos2.0

标签新名称

docker tag 83bcc6484c3d registry.cn-hangzhou.aliyuncs.com/*** /*** :centos2.0

推送远程

docker push registry.cn-hangzhou.aliyuncs.com/*** /*** :centos2.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1551218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GRE VPN——配置实验

1,按照图示配置IP地址 r1: r2: r3: 2,在R1和R3配置默认路由使公网区域互通 [R1]ip route-static 0.0.0.0 0 100.1.1.2 R3]ip route-static 0.0.0.0 0 100.2.2.2 3,在R1和R3上配置GRE VPN,使…

MySQL数据库高级语句

文章目录 MySQL高级语句older by 排序区间判断查询或与且(or 与and)嵌套查询(多条件)查询不重复记录distinctcount 计数限制结果条目limit别名as常用通配符嵌套查询(子查询)同表不同表嵌套查询还能用于删除…

蓝桥杯算法赛(二进制王国)

问题描述 二进制王国是一个非常特殊的国家,因为该国家的居民仅由 0 和 1 组成。 在这个国家中,每个家庭都可以用一个由 0 和 1 组成的字符串 S 来表示,例如 101、 000、 111 等。 现在,国王选了出 N 户家庭参加邻国的庆典…

PDF转成二维码分享

在制作电子产品册之前,你需要思考以下几个问题:你的电子产品册是面向什么人群的?是宣传册、使用手册还是产品介绍册?明确目标与定位有助于我们更好地规划产品册的内容和风格。 一、收集素材与整理信息 在开始制作之前&#xff0c…

JetBrains pycharm pro 2023 for mac Python集成开发环境

JetBrains PyCharm Pro 2023 for Mac是一款功能强大的Python集成开发环境(IDE),专为Mac用户设计,旨在提供高效、智能的编程体验。 软件下载:JetBrains pycharm pro 2023 for mac中文最新版 PyCharm Pro 2023支持多种语…

如何打造新颖的AI交互数字人,赋能数字文博?

在数字文旅时代,越来越多景区打造AI交互数字人,以数字人作为游客与文化交互的载体。游客在景区中,可以通过语音唤醒数字人,高效获得文化、历史等方面专业的讲解服务。AI交互数字人可以在景区的一体机、全息屏、小程序等终端设备中…

SwiftUI Release 引入的辅助焦点管理

文章目录 前言使用 FocusState 属性包装器高级技巧:专用辅助技术可聚焦字段的高级用法优化体验运行截图总结 前言 SwiftUI Release 引入了强大的新功能,其中之一是辅助焦点管理。 这个新功能使得在SwiftUI中处理辅助技术(如 VoiceOver 和 S…

北京空港携手数环通iPaaS,打造航空服务行业数字化利器

01 客户背景 北京空港航空地面服务有限公司(以下简称BGS)是首都机场集团控股的中性地面服务企业,提供全业务链航空地面服务解决方案,助力提升机场综合保障实力,致力于成为卓越服务的创造者,专注于成为地面服…

浏览器扩展程序增加 vue_dev_tools 调试工具

1、引言 在做 Vue 项目的开发时,我们经常需要在页面上调试,接下来介绍如何在浏览器扩展程序增加 vue_dev_tools 调试工具。 Download the Vue Devtools extension for a better development experience 翻译:下载Vue Devtools扩展以获得更好…

A - Environment-Friendly Travel Gym - 102501A

题意:给你一些交通方式和站点,不同的交通方式碳排放不一样,问从起点到终点距离不超过B的路径中最少的碳排放是多少。 思路:二维dijkstra,建图什么的倒不是很难,主要就是对二维dij的理解了; 表示…

编辑图片加文字的软件有哪些?4款编辑软件推荐

编辑图片加文字的软件有哪些?在日常生活中,无论是修饰照片、制作海报,还是为图片添加文字,图片编辑软件都能轻松应对。它们操作简单,功能丰富,让我们能够随时随地展现自己的创意和个性。使用它们&#xff0…

Claude 3被玩出自我意识了?AI社区轰动,我们买会员来了次实测

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站 每天给大家更新可用的国内可用chatGPT资源​ 更多资源欢迎关注 ​ Anthropic 发布了新一代大模型系列 Claude 3,遥遥领先快一年之久的 GPT-4 终于迎来了强劲的对手。 ​ Claude 3 …

经典机器学习模型(九)EM算法的推导

经典机器学习模型(九)EM算法的推导 1 相关数据基础 1.1 数学期望 1.1.1 数学期望的定义 根据定义,我们可以求得掷骰子对应的期望: E ( X ) X 1 ∗ p ( X 1 ) X 2 ∗ p ( X 2 ) . . . X 6 ∗ p ( X 6 ) 1 ∗ 1 6 2 ∗ 1 6 1 ∗ 1 6 3 ∗ 1 6 …

红酒:不同类型红酒的品鉴技巧与文化传承

红酒,作为一种历史悠久的产品,不仅蕴含着深厚的文化底蕴,还展现了多样的风味特点。云仓酒庄雷盛红酒,其不同类型的产品各具特色,为品鉴者带来了丰富的体验。本文将带您一起探索雷盛红酒的品鉴技巧与文化传承。 品鉴红酒…

DFS:从递归去理解深度优先搜索

一、深入理解递归 二、递归vs迭代 三、深入理解搜索、回溯和剪枝 四、汉诺塔问题 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public: //笔试题&#xff0c;不讲武德&#xff0c;CAvoid move(int n,vector<int>& A, vector<int>& B, ve…

Qwen1.5的多框架部署使用指南

在当今的技术领域&#xff0c;大型语言模型的应用日益广泛&#xff0c;而Qwen1.5作为其中的佼佼者&#xff0c;已经得到了多个推理框架的支持。 原生混合精度推理 from transformers import AutoModelForCausalLM, AutoTokenizer import torch# 设置设备为CUDA&#xff0c;如果…

【Vue3】实现二维码、链接 分享功能

界面效果: 描述 要实现的功能分别是 1.复制链接可以将次链接分享给他人&#xff0c;他人依靠链接便可以打开你想要让他看到的数据 2.通过微信扫一扫&#xff0c;便可看到和链接一样的内容在手机端 需要的依赖 二维码:qrcode 复制功能:vue-clipboard3 下载二维码:html2canv…

网络编程之流式套接字

流式套接字&#xff08;SOCK_STREAM&#xff09;是一种网络编程接口&#xff0c;它提供了一种面向连接的、可靠的、无差错和无重复的数据传输服务。这种服务保证了数据按照发送的顺序被接收&#xff0c;使得数据传输具有高度的稳定性和正确性。通常用于那些对数据的顺序和完整性…

ES5和ES6的深拷贝问题

深拷贝我们知道是引用值的一个问题&#xff0c;因为在拷贝的时候&#xff0c;拷贝的是在内存中同一个引用。所以当其中的一个应用值发生改变的时候&#xff0c;其他的同一个引用值也会发生变化。那么针对于这种情况&#xff0c;我们需要进行深度拷贝&#xff0c;这样就可以做到…

Linux下javaweb项目部署

javaweb项目部署测试 测试环境&#xff1a;centos7 下载安装jdk rpm -ivh jdk-8u131-linux-x64.rpm 下载安装MySQL wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.33-1.el7.x86_64.rpm https://downloads.mysql.com/archives/get/p…