镜像制作上传至Harbor
环境准备1、一个centos\linux操作系统2、安装docker 1.8+及以上版本3、可以登录镜像(Harbor)私有仓库前提配置4、关闭防火墙systemctl stop firewalld.service &systemctl disable firewalld.service查看防火墙状态systemctl status firewalld.service如下图所示已关闭9、配
环境准备
环境 | |
---|---|
centos | |
docker1.8+ | |
harbor1.8 |
1、安装docker脚本,必须是centos7
curl -sSL https://ssgssg.obs.cn-south-1.myhuaweicloud.com/docker/docker_install.sh | sh
前提配置
1、关闭防火墙
systemctl stop firewalld.service & systemctl disable firewalld.service
2、查看防火墙状态
systemctl status firewalld.service
3、如下图所示已关闭
镜像制作
终端
1、运行基础镜像以centos7为例
docker run -d -it --name centos7 harbor.org/test/centos-7:v1
命令 | 说明 |
---|---|
docker run | 运行一个容器 |
-d -it | 后台运行返回一个ID |
–name | 容器名称 |
harbor.org/test/centos-7:v1 | 运行镜像 |
2、查看运行
docker ps |grep centos7
3、进入容器
docker exec -it centos7 bash
文件复制
1、复制文件到容器,把test.txt 文件复制到容器/root/目录
touch test.txt
docker cp test.txt centos7:/root/
命令 | 说明 |
---|---|
docker cp | 容器 复制 |
test.txt | 要复制的文件 |
centos7 | 容器名称,指定容器ID也可以 |
:/root/ | 容器目录 |
2、容器文件复制至宿主机
docker cp centos7:/root/anaconda-ks.cfg /home/
命令 | 说明 |
---|---|
docker cp | 容器复制 |
centos7 | 容器 |
:/root/anaconda-ks.cfg | 复制出来的文件 |
保存容器成镜像
docker commit -m "这是一个测试镜像" centos7 harbor.org/test/centos-7:v1.0
命令 | 说明 |
---|---|
docker commit | 保存镜像 |
-m | 说明 |
centos7 | 要保存的容器 |
harbor.org/test/centos-7:v1 | 保存成镜像与版本 |
容器之间访问
1、创建网络
docker network create testnet
2、查看网络
docker network ls
3、运行两个容器进行测试
docker run -d -it --privileged=true --name centos1 --network testnet --network-alias centos1 -p 18081:8080 harbor.org/test/centos-7:v1.0
docker run -d -it --privileged=true --name centos2 --network testnet --network-alias centos2 -p 18082:8080 harbor.org/test/centos-7:v1.0
命令 | 说明 |
---|---|
docker run -d -it | 在后台运行一个容器 |
–privileged=true | 给容器root权限 |
–name centos2 | 容器名称为centos2 |
–network testnet | 使用 testnet 网络 |
–network-alias centos2 | 给当前容器网络取一个别名(可以通过一个别名直接访问) |
-p 18082:8080 | 放开端口 |
harbor.org/test/centos-7:v1 | 引用镜像 |
4、进入容器
docker exec -it centos1 bash
5、测试是否访问
ping centos2
6、也可以进入centos2容器测试访问centos1容器,同上
图形化镜像
1、运行容器
docker run -d --name centos-vnc --privileged=true -p 15901:5901 harbor.org/base/centos7_vnc_desktop:v1.0
命令 | 说明 |
---|---|
docekr run | 运行一个容器 |
–name centos7-vnc | 容器名称为centos7-vnc |
–privileged=true | 给容器root权限 |
-p 15901:5901 | 容器开发端口15901 宿主机端口,5901容器端口(多个端口可以再 -p ) |
harbor.org/base/centos7_vnc_desktop:v1.0 | 运行容器用的镜像 |
2、查看是容器
3、用工具连接桌面,网站下载vnc工具
输入对应的IP及端口
vnc密码与容器root密码统一为不能修改; password
上传镜像到Harbor仓库
前提配置
1、配置镜像仓库,如没有这个文件可创建 /etc/docker/daemon.json
{
"insecure-registries": ["harbor.org"]
}
2、配置生效
systemctl daemon-reload
service docker restart
3、添加解析:/etc/hosts
把对应的IP(注IP修改成自己Harbor对应的IP地址)解析对应的域名,如图所示:
4、登录harbor仓库
docker login harbor.org
5、输入 用户及密码,如图所
上传镜像
1、浏览器 登录harbor仓库:刚刚制作的镜像项目名称为:test,我们在harbor仓库中也要有test这个项目,没有就创建要上传的镜像项目
docker push harbor.org/test/centos-7:v1.0
2、上传完成后就可以是仓库中查看到
6、说明 :
命令 | 说明 |
---|---|
docker push | docker 命令 |
harbor.org | 仓库地址 |
centos-7 | 镜像名称 |
: | 跟着是版本号 |
v1.0 | 镜像版本 |
镜像迁移
1、镜像打包成为压缩文件
docker save -o my_centos7.tar harbor.org/test/centos-7:v1.0
2、导入镜像压缩文件
docker load -i my_centos7.tar
清理容器及镜像
清理容器
1、必需先停止容器才可以删除镜像
docker stop centos7 centos-vnc
docker rm centos centos-vnc
2、删除本地镜像,
docker rmi harbor.org/test/centos-7:v1.0
docker 常用命令
1、查看所有的镜像
docker images
2、查看所有运行容器
docker ps
3、查看所有的容器
docker ps -a
4、查看最近运行的一个容器
docker ps -l
5、复制文件,把文件复制到容器中
docker cp 文件 容器名称:容器目录
6、复制文件,把容器文件复制到本机
docker cp 容器名称:容器目录及文件 本机目录
7、镜像重新命名
#docker tag c12a9c5c3a11 harbor.org/test/centos-7:v1.0
docker tag 镜像ID 镜像与版本
8、停止容器
#docker stop cetnos1
docker stop 容器名称|容器ID
9、删除容器
#docker rm cetnos1
docker rm 容器名称|容器ID
10、删除镜像
docker rmi 镜像名称加版本
11、退出容器
#有时候退出一次不行,要再退出一次
exit
更多推荐
所有评论(0)