标签:linu hat 最快 red 驱动 bin xxx 映射 安装源
# 卸载原有docker
yum remove docker docker-common docker-selinux docker-engine -y
# 安装yum工具包(方便配置安装源)和数据存储驱动包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 增加aliyun安装源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 列出docker社区版本安装包
yum list docker-ce --showduplicates | sort -r
# 自动选择最快安装源
yum makecache fast
# 安装docker社区版本
yum install docker-ce -y
# 配置阿里云镜像加速服务(需登录阿里云开通容器镜像服务)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker pull 镜像名<:tags> - 从远程仓库抽取镜像
docker images - 查看本地镜像
docker run 镜像名<:tags> - 创建容器,启动应用
docker ps - 查看正在运行中的镜像
docker rm <-f> 容器id - 删除容器
docker rmi <-f> 镜像名:<tags> - 删除镜像
#示例:-p 端口映射; -d 后台运行
docker run -p 8080:8080 -d tomcat
# 格式: docker exec [-it] 容器ID 命令
# exec 在对应容器中执行命令
# -it 采用交互方式执行命令
#示例
#获取容器ID
docker ps
#进入交互模式
docker exec -it 0738ed2fe68b /bin/bash
Dockerfile是一个包含用于组合镜像的命令的文本文档
Docker通过读取Dockerfile中的指令按步自动生成镜像
docker build -t 机构/镜像名<:tags> Dockerfile目录
FROM tomcat:latest
MAINTAINER com.wod
WORKDIR /usr/local/tomcat/webapps
ADD docker-web ./docker-web
<h1>hello docker by yhm!</h1>
#执行命令
docker build -t com.wod/mywebapp:1.0 ./
#输出:dockerfile中的每一行对应输出的每一步
Sending build context to Docker daemon 3.584kB
Step 1/4 : FROM tomcat:latest
---> 2ae23eb477aa
Step 2/4 : MAINTAINER com.wod
---> Running in 4ae48a693627
Removing intermediate container 4ae48a693627
---> dfa6df5cc13c
Step 3/4 : WORKDIR /usr/local/tomcat/webapps
---> Running in f4e9e5ae4fe1
Removing intermediate container f4e9e5ae4fe1
---> 870f60b9a094
Step 4/4 : ADD docker-web ./docker-web
---> 1d415065d410
Successfully built 1d415065d410
Successfully tagged com.wod/mywebapp:1.0
dockerfile中的每一步对应一步输出,并且都会有一个临时容器id(形如 ---> Running in 4ae48a693627)
此容器id会作为容器缓存,在再次创建镜像并且有相同步骤时自动使用缓存的容器id以加快创建操作
FROM centos #制作基准镜像(基于centos:lastest)
FROM scratch #不依赖任何基准镜像base image
FROM tomcat: 9.0.22-jdk8-openjdk
尽量使用官方提供的Base Image
MAINTAINER mashibing.com
LABEL version = "1.0"
LABEL description = "马士兵教育"
WORKDIR /usr/local
WORKDIR /usr/local/newdir #自动创建
尽量使用绝对路径
ADD hello / #复制到根路径
ADD test.tar.gz / #添加根目录并解压
ADD 除了复制,还具备添加远程文件功能
ENV JAVA_HOME /usr/local/openjdk8
RUN ${JAVA_HOME}/bin/java -jar test.jar
尽量使用环境常量,可提高程序维护性
将容器内部端口暴露给物理机
EXPOSE 8080
docker run -p 8000:8080 tomcat
RUN : 在Build构建时执行命令
ENTRYPOINT : 容器启动时执行的命令
CMD : 容器启动后执行默认的命令或参数
RUN yum install -y vim #Shell 命令格式
RUN ["yum","install","-y","vim"] #Exec命令格式
ENTRYPOINT(入口点)用于在容器启动时执行命令
Dockerfile中只有最后一个ENTRYPOINT会被执行
ENTRYPOINT ["ps"] #推荐使用Exec格式
CMD用于设置默认执行的命令
如Dockerfile中出现多个CMD,则只有最后一个被执行
如容器启动时附加指令,则CMD被忽略
CMD ["ps" , "-ef"] #推荐使用Exec格式
标签:linu hat 最快 red 驱动 bin xxx 映射 安装源
原文地址:https://www.cnblogs.com/wod-Y/p/13546324.html