- 前言
- 一、安装docker
- 二、使用步骤
- 1.拉取镜像
- 2、启动容器
- 3、修改容器内容
- 4、镜像传输
- 5、推送到远程仓库
- 6、补充
- 7、编写Dockerfile文件
前言
docker容器的基本使用,包括使用Dockerfile创建镜像。
一、安装docker安装
# 1、yum 包更新到最新 yum update # 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 4、 安装docker,出现输入的界面都按 y yum install -y docker-ce # 5、 查看docker版本,验证是否验证成功 docker -v
配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://zys1f7uu.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、使用步骤
1.拉取镜像
Docker hub 查找镜像
docker pull nginx #下载最新版 镜像名:版本名(标签) docker pull nginx:1.20.1 docker pull redis #下载最新 docker pull redis:6.2.4 ## 下载来的镜像都在本地 docker images #查看所有镜像 redis = redis:latest docker rmi 镜像名:版本号/镜像id2、启动容器
docker pull nginx #下载最新版 镜像名:版本名(标签) docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 【docker run 设置项 镜像名 】 镜像启动运行的命令(镜像里面默认有的,一般不会写) # -d:后台运行 # --restart=always: 开机自启 docker run --name=mynginx -d --restart=always -p 88:80 nginx # 查看正在运行的容器 docker ps # 查看所有 docker ps -a # 删除停止的容器 docker rm 容器id/名字 docker rm -f mynginx #强制删除正在运行中的 #停止容器 docker stop 容器id/名字 #再次启动 docker start 容器id/名字 #应用开机自启 docker update 容器id/名字 --restart=always3、修改容器内容
# 进入容器内部的系统,修改容器内容 docker exec -it 容器id /bin/bash # 使用数据卷挂载到外部进行修改 docker run --name=mynginx -d --restart=always -p 88:80 -v /data/html:/usr/share/nginx/html:ro nginx # 修改页面只需要去 主机的 /data/html # 容器内容修改后,提交生成镜像 docker commit -a "hdf" -m "首页变化" 容器id 镜像名称:版本号4、镜像传输
# 将镜像保存成压缩包 -o output docker save -o abc.tar nginx:v1.0 # 别的机器加载这个镜像 docker load -i abc.tar # 离线安装5、推送到远程仓库
#标签重新命名 docker tag local-image:tagname new-repo:tagname docker push new-repo:tagname # 把旧镜像的名字,改成仓库要求的新版名字 docker tag nginx:v1.0 hedingfa/nginx:v1.0 # 登录到docker hub docker login docker logout(推送完成镜像后退出) # 推送 docker push hedingfa/nginx:v1.0 # 别的机器下载 docker pull hedingfa/nginx:v1.06、补充
docker logs 容器名/id 排错 docker exec -it 容器id /bin/bash # docker 经常修改nginx配置文件 docker run -d -p 80:80 -v /data/html:/usr/share/nginx/html:ro -v /data/conf/nginx.conf:/etc/nginx/nginx.conf --name mynginx-02 nginx #把容器指定位置的东西复制出来 docker cp 5eff66eec7e1:/etc/nginx/nginx.conf /data/conf/nginx.conf #把外面的内容复制到容器里面 docker cp /data/conf/nginx.conf 5eff66eec7e1:/etc/nginx/nginx.conf7、编写Dockerfile文件
Dockerfile
FROM openjdk:8-jdk-slim LABEL maintainer=hdf COPY target/*.jar /app.jar ENTRYPOINT ["java","-jar","/app.jar"]
build
# -t tag docker build -t java-demo:v1.0 .



