重新整理下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

 

 

 

 

 

 

 

 

 

posted on 2021-11-23 21:20  聪神carry  阅读(15)  评论(0)    收藏  举报