docker使用
安装
https://docs.docker.com/engine/install/centos/
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
# 启动docker
systemctl start docker
# 开机启动
systemctl enable docker
一些命令:
insepct
# 查看网络
docker network ls
docker network inspect 网络id
# 查看容器信息
docker inspect 容器ID
top
# 查看容器内进程信息
docker top 容器Id
exec
#开启一个交互模式的终端 docker exec -it 容器ID /bin/bash # 不进入容器执行命令 docker exec -it 容器ID ls docker exec -it 容器ID pwd
stats
#监控容器资源消耗
docker stats
Dockerfile
在一个空目录下,新建一个名为 Dockerfile 文件,并在文件内添加以下内容
FROM centos ENV MYPATH /usr/local WORKDIR $MYPATH RUN yum -y install wget \ && yum -y install vim \ && yum -y install net-tools EXPOSE 80 CMD echo $MYPATH
通过目录下的 Dockerfile 构建一个 mycentos:1.0(镜像名称:镜像标签)
docker build -t mycentos:1.0 .

运行容器(CMD 指令指定的程序可被 docker run 命令行参数中指定要运行的程序所覆盖。)

命令参考:https://www.runoob.com/docker/docker-dockerfile.html
DockerCompose
1. 安装
https://www.runoob.com/docker/docker-compose.html
2. 一键初始化环境
version: '3' services: mysql: image: mysql:5.7.32 container_name: mysql environment: MYSQL_ROOT_PASSWORD: passok ports: - 3306:3306 volumes: - /opt/docker_v/mysql:/var/lib/mysql #挂载 MySQL数据 networks: - mynet phpmyadmin: image: phpmyadmin container_name: phpmyadmin depends_on: - mysql environment: PMA_HOST: mysql
ports:
- 8080:8080 networks: - mynet redis: image: redis container_name: redis command: redis-server /usr/local/etc/redis/redis.conf volumes: - /opt/docker_v/redis/data:/data #挂载 Redis数据 - /opt/docker_v/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf #挂载 Redis配置(提前创建目录并上传配置文件) ports: - 6379:6379 networks: - mynet rabbitmq: image: rabbitmq:3.7.15-management container_name: rabbitmq volumes: - /opt/docker_v/rabbitmq/data:/var/lib/rabbitmq #挂载 RabbitMQ数据 - /opt/docker_v/rabbitmq/log:/var/log/rabbitmq #挂载 RabbitMQ日志 ports: - 5672:5672 - 15672:15672 networks: - mynet
networks: mynet: driver: bridge
CICD
视频:https://www.bilibili.com/video/BV1sK4y1s7Cj?p=18
mkdir /opt/docker-v/jenkins chmod 777 /opt/docker-v/jenkins
version: '3.5' services: gitlab: image: twang2218/gitlab-ce-zh container_name: gitlab-ce-zh restart: unless-stopped hostname: '地址' environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url "http://地址:9090" # gitlab访问的链接 gitlab_rails['time_zone'] = 'Asia/Shanghai' gitlab_rails['gitlab_shell_ssh_port'] = 8082 # 代码仓库拉取的端口 gitlab_rails['gitlab_email_from'] = 'qq邮箱' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "qq邮箱" gitlab_rails['smtp_password'] = "邮件服务器授权码" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true ports: - '9090:9090' - '8082:22' volumes: - '/opt/docker-v/gitlab/config:/etc/gitlab' - '/opt/docker-v/gitlab/logs:/var/log/gitlab' - '/opt/docker-v/gitlab/data:/var/opt/gitlab' networks: - gitlab gitlab-runner: image: gitlab/gitlab-runner:latest container_name: gitlab-runner restart: unless-stopped depends_on: - gitlab volumes: - /opt/docker-v/gitlab-runner/:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock networks: - gitlab networks: gitlab:
阿里云镜像加速
在容器镜像服务中,进入镜像中心——>镜像加速器,参考操作文档进行配置

发布到阿里云
1.创建命名空间

2. 创建镜像仓库


3. 点击仓库名称,根据文档提交