docker环境和dockerfile制作

docker

一、环境和安装

1、 docker安装
  1. 使用 root 权限登录 CentOS。确保 yum 包更新到最新
sudo yum update
  1. 卸载旧版本
yum remove docker \
                   docker-client \
                   docker-client-latest \
                   docker-common \
                   docker-latest \
                   docker-latest-logrotate \
                   docker-logrotate \
                   docker-selinux \
                   docker-engine-selinux \
                   docker-engine \
                   docker-ce
  1. 安装 Docker 所需依赖
yum -y install yum-utils device-mapper-persistent-data lvm2
  1. 指定 Docker 镜像源,使用阿里云加速
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装 Docker
sudo yum -y install docker-ce
2、安装成功

1.验证 Docker 是否安装成功:查看安装的版本号

docker -v
  1. 启动 Docker
sudo systemctl start docker
  1. 设置开机启动
sudo systemctl enable docker
  1. 测试镜像
sudo docker run hello-world
3 、错误解决

错误1:更新 yum 报错

备份仓库配置文件:CentOS-Base.repo => CentOS-Base.repo.back

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back

修改仓库配置文件,使用阿里云加速

sudo tee /etc/yum.repos.d/CentOS-Base.repo <<-'EOF'
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

EOF

错误2:yum-config-manager:找不到命令

这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了。

yum -y install yum-utils

错误3:Error response from daemon: Get “[https://registry-1.docker.io/v2/”(访问失败,需配置代理/镜像加速)

通过修改 Docker 的配置文件 daemon.json来配置镜像加速器,可以加速 Docker 镜像的拉取速度,尤其是在国内环境下。操作步骤如下:

编辑 /etc/docker/daemon.json 文件:

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://alzgoonw.mirror.aliyuncs.com",
    "https://docker.m.daocloud.io",
    "https://dockerhub.icu",
    "https://docker.anyhub.us.kg",
    "https://docker.1panel.live"
  ]
}

重新加载 deamon.json 配置文件

sudo systemctl daemon-reload

重启 Docker

sudo systemctl restart docker

通过 docker info 命令查看当前 Docker 配置,是否成功加载了镜像加速器:(可能只输出Registry Mirrors:,通过拉取镜像测试)

sudo docker info | grep -i 'Registry Mirrors'

测试拉取镜像

docker pull hello-world

二、docker常用命令

帮助命令
docker xxx --help
镜像命令
docker images #列出所有镜像
docker search mysql  #查找mysql镜像
docker pull mysql:5.7  #拉取mysql镜像
docker rmi -f 镜像  #删除镜像
容器命令
  • 查看容器
docker ps #列出运行的镜像
docker ps -aq #列出运行镜像id
  • 删除容器
docker rm 容器id     #删除指定的容器,不能删除正在运行的容器,如果要强制删除 加-f
docker rm -f $(docker ps -aq) #删除所有容器
docker ps -a -q|xargs docker rm #删除所有的容器
  • 启动和停止容器
docker start 容器id     #启动容器
docker restart 容器id   #重启容器
docker stop 容器id      #停止当前正在运行的容器
docker kill 容器id      #强制停止当前容器
常用其他命令

后台启动容器

docker run -d -t 容器名

查看日志

docker logs -f -t --tail number 容器id
-tf   #显示日志
--tail number #显示日志条数

查看容器中进程信息

docker top 镜像id 

查看镜像元数据

docker inspect 镜像id 

进入当前正在进行的容器

# 方式一
docker exec -it 容器id /bin/bash
# 方式二
docker attach 容器id

从容器中拷贝文件

docker cp 容器id:目标主机目录

三、容器数据卷

使用数据卷

方式一 使用-v 选项

docker run -it -v 主机目录:容器目录 容器
docker run -it -v /home/ceshi:/home/ centos /bin/bash

-d 后台运行
-e 环境配置
-v 配置挂载卷
-p 端口映射
--name 容器名字
docker run -d -p 3307:3306 -v /home/etc/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MY
您可以按照以下步骤制作Tomcat镜像: 1. 创建一个新的目录,例如 "tomcat-docker"。 2. 在该目录中创建一个名为 "Dockerfile" 的文件,并输入以下内容: ``` # 基于centos7镜像创建 FROM centos:7 # 设置环境变量 ENV TOMCAT_VERSION 9.0.41 ENV CATALINA_HOME /opt/tomcat # 安装必要的软件包 RUN yum update -y && \ yum install -y java-1.8.0-openjdk-devel wget && \ yum clean all # 下载Tomcat安装包 RUN wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz && \ tar -zxvf apache-tomcat-${TOMCAT_VERSION}.tar.gz && \ rm -f apache-tomcat-${TOMCAT_VERSION}.tar.gz && \ mv apache-tomcat-${TOMCAT_VERSION} ${CATALINA_HOME} # 删除Tomcat中自带的webapps RUN rm -rf ${CATALINA_HOME}/webapps/* # 暴露Tomcat端口 EXPOSE 8080 # 启动Tomcat CMD ["/opt/tomcat/bin/catalina.sh", "run"] ``` 该Dockerfile做了以下事情: - 基于CentOS 7镜像创建一个新的镜像。 - 设置了环境变量,包括Tomcat版本安装路径。 - 安装了Javawget软件包。 - 下载并解压了Tomcat安装包。 - 删除了Tomcat中自带的webapps目录(可以根据需要更改)。 - 暴露了Tomcat的8080端口。 - 启动Tomcat。 3. 在该目录中运行以下命令构建Tomcat镜像: ``` docker build -t my-tomcat . ``` 其中,"my-tomcat"是您的镜像名称,可以根据需要更改。 4. 运行以下命令启动Tomcat容器: ``` docker run -d -p 8080:8080 my-tomcat ``` 其中,"-d"选项表示容器将在后台运行,"-p"选项将主机的8080端口映射到容器的8080端口,"my-tomcat"是您之前构建的Tomcat镜像名称。 5. 访问 http://localhost:8080 即可查看Tomcat主页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值