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. 点击仓库名称,根据文档提交

 

posted on 2019-03-28 17:42  凡一二三  阅读(200)  评论(0编辑  收藏  举报