重新整理下docker笔记
测试环境可以关闭掉SELinux和防火墙
关闭:setenforce 0和systemctl stop firewalld
查看:getenforce 和systemctl status firewalld
开机关闭:vi /etc/selinux/config 把SELINUX=enforce 改成disabled 和 systemctl disable firewalld
1.为什么使用容器
2.容器和虚拟化
3.docker容器
4.docker应用场景
5.docker基本组成
6.docker官方文档
https://docs.docker.com
7.docker安装
https://docs.docker.com/engine/install/centos/
cd /etc/yum.repos.d wget https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce #启动 systemctl start docker
https://docs.docker.com/engine/install/binaries/
进去这个网站下载对应的包:https://download.docker.com/linux/static/stable/ wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.11.tgz tar xzvf /path/to/<FILE>.tar.gz cp docker/* /usr/bin/ #启动 dockerd &
8.docker镜像
9.配置公文镜像加速器
默认的官方公共镜像库Docker Hub: https://hub.docker.com
#配置镜像加速器 vi /etc/docker/daemon.json { "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] } systemctl restart docker
docker info
10.镜像常用命令
命令格式:docker image COMMAND
docker image save nginx:1.11 > nginx1.11.tar #导出镜像为tar包 docker load < nginx1.11.tar #导入镜像 docker ps #查看运行中容器 docker run -itd busybox #运行镜像,就变成一个运行中的容器 docker export 6hidudiiwdudw > bug.tar #导出容器文件系统到tar归档文件 docker image import bug.tar name:tag #导入容器文件系统归档tar文件创建镜像 docker ps -aqf "name=golarkuse" #查看指定名称的容器
11.镜像常用创建命令
命令格式:docker run [OPTION]
#资源限制 docker run -m="500m" --cpus="1" -d nginx #创建指定 docker run -d -e env=prod -p 88:80 --name web -h web --restart=always nginx
https://www.cnblogs.com/CGCong/p/12162153.html
12.镜像常用管理命令
命令格式:docker container COMMAND
docker ps = docker container ls docker ps -a 查看所以容器,包含退出 -q 列出所有的容器ID #下面加-f强制删除所有容器 docker rm -f $(docker ps -qa)
13.容器数据持久
14.容器网络
Docker使用iptables实现网络通信
DNAT:目标网络地址转换
SNAT:源地址转换
15.Dockerfile概述
vi Dockerfile #注意最后有个点,默认使用 “上下文目录(Context)下的名为Dockerfile 的文件作为 Dockerfile”,在此,即用当前路径的 Dockerfile 进行构建 docker build -t nginx:v1 . #如果Dockerfile在其他路径 可以通过-f 进行指定 docker build -f /home/Dockerfile .
16.构建Nginx镜像
docker run -d --name web3 -p 90:80 -v /opt/wwwroot/ : /usr/share/nginx/html nginx:v1 或
# Base images 基础镜像 FROM centos:7 #作者名称 LABEL maintainer="cgc" #执行下面命令,安装基础环境 RUN yum install -y gcc gcc-c++ make \ openssl-devel pcre-devel gd-devle \ iproute net-tools telnet wget curl && \ yum clean all && \ rm -rf /var/cache/yum/* #添加nginx到容器里,ADD在执行 <源文件> 为 tar 压缩文件的话,压缩格式为 gzip, bzip2 以及 xz 的情况下,会自动复制并解压到 <目标路径> ADD nginx-1.20.2.tar.gz / #编译安装 RUN cd nginx-1.20.2 && ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module && \ make -j 4 && make install && \ mkdir /usr/local/nginx/conf/vhost && \ cd / && rm -rf nginx* && \ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #全局变量设置 ENV PATH $PATH:/usr/local/nginx/sbin #拷贝配置文件进容器 COPY nginx.conf /usr/local/nginx/conf/nginx.conf #设置工作目录 WORKDIR /usr/local/nginx #暴露端口 EXPOSE 80 #运行这个镜像,默认执行的命令,有多个CMD时,只有最后一个有效,前面的会被覆盖 CMD ["nginx", "-g", "daemon off;"]
https://www.cnblogs.com/CGCong/p/12186883.html
17.Harbor仓库
Harbor是由VMWare公司开源的容器镜像仓库。事实上,Harbor是在Docker Registry上进行了相应的企业级扩展, 从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及 审计日志等,足以满足基本企业需求。 官方:https://goharbor.io/ Github:https://github.com/goharbor/harbor
Harbor安装有2种方式:
• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
• 离线安装:安装包包含部署的相关镜像,因此安装包比较大
18.Harbor仓库部署
安装docker和docker-Compose
#下载安装docker-compose https://github.com/docker/compose/releases mv docker-compose-linux-x86_64 /usr/bin/docker-compose chmod +x /usr/bin/docker-compose docker-compose
部署Harbor HTTP
# tar zxvf harbor-offline-installer-v2.0.0.tgz # cd harbor # cp harbor.yml.tmpl harbor.yml # vi harbor.yml hostname: 192.168.1.1 #自己主机IP或主机名 https: # 先注释https相关配置 harbor_admin_password: Harbor12345 # ./prepare # ./install.sh
#docker-compose ps
#docker-compose up -d
#docker-compose stop
19.Harbor仓库使用
1、配置http镜像仓库可信任,https有证书就不需要 # vi /etc/docker/daemon.json { xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "insecure-registries":["192.168.1.1"] } # systemctl restart docker 2、打标签 # docker tag centos:7 192.168.1.1/library/centos:7 3、登陆 # docker login 192.168.1.1 4、上传 # docker push 192.168.1.1/library/centos:7 5、下载 # docker pull 192.168.1.1/library/centos:7
作者:陈耿聪 —— 夕狱
出处:https://www.cnblogs.com/CGCong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。