环境准备

环境
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 pushdocker 命令
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
Logo

更多推荐