docker的安装笔记
docker的部署
使用YUM源部署
可以使用官方YUM源,清华大学镜像站配置YUM源,也可以使用阿里云开源镜像站提供的YUM源,建议选择使用阿里云开源镜像站提供的YUM源,因为速度快
1 获取阿里云开源镜像站
https://developer.aliyun.com/mirror/
2 进入网站找到 docker-ce
3 找到CentenOS7,复制下载链接
4 输入以下命令。
把文件命名为docker-ce.repo,并下载到/etc/yum.repos.d路径下
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5 查看文件是否可以使用
yum repolist
查看到存在软件包,说明可以使用
6 安装docker-ce
yum -y install docker-ce
ce 表示社区版,免费
7 配置Docker Darmon启动文件
目的是为了防止防火墙的影响和以便以后配置
vim /usr/lib/systemd/system/docker.service
ExecStartPost=/sbin/iptables -P FORWARD ACCEPT
8 启动docker
systemctl start docker
9 将docker设为开机自启
systemctl enable docker
10 查看docker的版本
docker version
11 停止docker服务
systemctl stop docker
12 卸载docker
yum remove docker-ce containerd.io docker-ce-cli
用docker version
查看发现没有信息则
使用容器运行Nginx及Docker的相关命令
使用容器运行Nginx
1 下载容器镜像
docker run -d nginx:latest
docker run 表示要运行一个应用
-d 表示在当前终端的后台运行,而不会影响到当前终端的操作
nginx:latest 表示这个应用运行在以 nginx:latest为容器模板的镜像中
运行命令后会发现本地找不到nginx:latest,然后就会自动去容器镜像仓库中去下载
2 查看docker host主机中正在运行的容器
docker ps
ps 类似于Linux系统中查看正在运行的进程
访问容器中运行的Nginx
1 确认容器的IP地址
docker inspect 容器ID
2 容器网络说明
容器时运行在docker host主机上的,主机给所有容器提供了一个网桥 docker0,使得所有容器都可以访问互联网使用ip a s
查看。
在容器中存在一个虚拟的网络设备,在物理机中也有与之对应的虚拟的网络设备,通过把两个网络设备放在同一个命名空间中就实现了虚拟网络设备之间的相互通信。
3 使用curl命令访问nginx
curl http://ip地址
Docker的相关命令
1 docker run
docker run -i -t --name c1 centos:latest bash
docker run 运行一个命令在容器中,命令是主体,没有命令容器就会消亡
-i 交互式
-t 提供终端
--name c1 将运行的容器命名为c1
bash 在容器中执行的命令
docker run一个bash命令,在一个叫做c1的容器中,其模板是centos:latest
2 docker ps
查看正在运行的容器
3 docker ps --all
查看所有的容器,包括正在运行的和已经停止的
4 docker inspect
5 docker exec
在容器中执行命令,并且将命令输出到当前终端中
例如 docker exec -it c2 ls /root
在容器c2中查root中的目录并将结果显示到终端中
6 docker attach
可以进入正在运行的容器中,且该容器必须时交互的,否则会卡住
例如 docker attach c2
当使用exit退出容器时,实际上退出的时容器中运行的命令,对出后容器也将停止运行,因为容器中没有指令在运行了
如果要退出的同时还保证容器正常运行,则使用 Ctrl+P+Q
7 docker stop
关闭正在运行的容器,可以同时关闭多个容器
例如 docker stop c2
8 docker start
启动容器,可以同时启动多个容器
9 docker top
查看正常运行的容器的信息
10 docker rm
删除容器
首先将容器停止,然后更具容器名或容器ID删除容器
也可以批量删除容器 docker rm c1 c2
Docker容器镜像
docker容器镜像操作
查看本地容器镜像
1 使用docker images 命令查看
2 使用docker image命令查看
使用 docker image --help 来查看使用
3 使用docker容器镜像本地存储位置
镜像一般存储在 /var/lib/docker目录中
搜索Docker Hub容器镜像
1 命令行搜索
例如: docker search centos
2 Docker Hub Web界面搜索镜像
Docker容器镜像下载
例如 docker pull centos
如果下载卡住,ctrl + C 重新下载
Docker容器镜像删除方法
先将容器停止,然后删除容器,最后删除镜像
例如:docker rmi 容器ID
Docker容器镜像操作命令
1 docker commit
可以将正在运行的容器提交为一个镜像
2 docker save
导出容器镜像,方便分享
例如:docker save -o centos.tar centos:latest
-o 表示输出
centos.tar 给输出的文件命名
centos:latest 要导出的镜像
3 docker load
将他人分享的容器镜像导入到本地
例如:docker load -i centos.tar
-i 表示导入
centos.tar 导入的镜像文件
4 docker export
将一个正在进行的容器导出
例如:docker export -o centos.tar 容器ID
-o 表示输出
centos.tar 给输出的文件命名
5 docker import
将导出的容器导入
例如: docker import centos.tar centos:v1
docker容器镜像加速器及本地容器镜像仓库
容器镜像加速器
直接访问国外镜像仓库很慢
1 获取阿里云容器镜像加速器地址
进入阿里云,搜索容器镜像服务
2 配置docker daemon使用加速器
- 进入文件
vim /etc/docker/daemon.json
- 修改:
容器镜像仓库
可以将容器镜像上传到仓库中,以减少占用本地存储空间
可以把已经生成好的容器镜像进行更好的分发
docker hub 公共容器镜像仓库
- 注册
- 准备邮箱和唯一的用户ID
- https://hub.docker.com/
- ............
harbor 企业私有容器镜像仓库
1 获取docker compose二进制文件
wget https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64
查看已下载的二进制文件
ls
移动文件
- 查看系统的PATH目录
echo $PATH
- 移动文件
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
(这里选择/usr/bin/目录 docker-compose是自定义文件名)
添加执行权限
该文件是没有执行权限的,我们要添加上执行权限:chmod +x /usr/bin/docker-compose
查看版本
docker-compose version
目的是查看版本是否达到预期 >1.18
报错:Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg
参考:https://blog.csdn.net/newbie_God/article/details/122732393
去github下载文件,并放到usr/bin目录下,添加权限后查看版本。成功
2 获取habur安装文件
服务器配置要求:cpu 2核,内存4G 硬盘至少100G
获取地址:https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz
查看服务器的硬盘空间分布。因为harbur要不断的上传镜像,所以需要一个较大的存储空间
df -h
3 获取TLS文件
百度
4 解压
解压harbur的压缩包tar xf harbor-offline-installer-v2.5.3.tgz
会生成一个harbor的文件夹
解压证书压缩包 unzip 压缩包完整文件名
将解压后的文件移动到harbor文件夹中
5 部署
cd进入harbor文件
mv harbor.yml.tmpl harbor.yml
vim harbor.yml
更改内容参考:https://blog.51cto.com/zzzhao/5320885
harbor安装失败
参考 https://blog.csdn.net/qq_42428264/article/details/120641414