Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hythzx/learn-docker

Repository files navigation

Docker课程内容

  • docker基本知识
  • docker的安装,配置
  • docker镜像
  • docker network配置
  • docker持久化存储
  • docker-compose 容器部署
  • docker registry配置,基础接口
  • docker编排工具docker swarm(Kubernetes)
  • 微服务概念
  • 部署ELK
  • 部署gitlab
  • Docker + DevOps实战

Docker导学

  1. 什么是Docker

  1. Docker能干什么

  1. Kubernetes

  1. 物理服务器

  1. 虚拟化技术

  1. docker

安装和使用Docker

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
 "registry-mirrors": ["https://x5y5eu8z.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
# Step 5: 设置docker自启动并运行docker
systemctl enable docker
systemctl start docker

docker 基本命令

# 查看镜像列表
docker images
# 删除镜像
docker rmi
# 启动一个容器
docker run
# 停止一个容器
docker stop
# 运行一个被停止的容器
docker start
# 移除一个容器
docker rm
# 在运行的容器中执行命令
docker exec
# 查看容器运行日志
docker logs
# 查看容器的元数据
docker inspect

运行一个简单容器

docker run -d --name nginx -p 80:80 nginx

挂载卷

docker volume create nginx_content
docker run -d -v nginx_content:/usr/share/nginx/html -p 80:80 nginx

docker网络

  1. bridge
  2. host
  3. overlay

安装docker-compose

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

使用Docker-compose 部署一个简单的wordpress网站

  1. 在 /opt/app/wordpress 文件夹下新建docker-compose.yml 文件,内容如下:
version: '3'
services:
 wordpress:
 image: wordpress
 ports:
 - 80:80
 depends_on:
 - mysql
 environment:
 WORDPRESS_DB_HOST: mysql
 WORDPRESS_DB_PASSWORD: root
 networks:
 - my-bridge
 mysql:
 image: mysql:5.7
 environment:
 MYSQL_ROOT_PASSWORD: root
 MYSQL_DATABASE: wordpress
 volumes:
 - mysql-data:/var/lib/mysql
 networks:
 - my-bridge
volumes:
 mysql-data:
networks:
 my-bridge:
 driver: bridge
  1. 在目录下执行
docker-compose up -d
  1. 查看日志
docker-compose logs -f
  1. 重启容器
docker-compose restart or docker-compose restart wordpress
  1. 停止容器
docker-compose stop
  1. 删除容器
docker-compose rm

安装和配置 docker registry

docker run -d -p 5000:5000 -v /data/docker-registry:/var/lib/registry --restart=always --name registry registry

注意: 使用自己搭建的docker registry需要在docker daemo里添加insecure-registries配置

Docker swarm

  • 初始化swarm
docker swarm init

查看节点

docker node ls

swarm服务

查看服务列表

docker service ls

创建服务

docker service create --name nginx -p 80:80 nginx

查看服务运行节点

docker service ps nginx

伸缩服务

docker service scale nginx=2

删除服务

docker service rm nginx

创建busybox服务

docker service create --name client -d --network ELK_ms_net busybox sh -c "while true; do sleep 3600; done"

ELK

ELK 的全称是 Elasticsearch、Logstash、kibana,是目前最流行的日志采集、转换、存储和查看工具。

部署ELK的compose编排文件

部署gitlab

sudo docker run --detach \
 --hostname gitlab-demo.nj-agile.com \
 --publish 80:80 \
 --name gitlab \
 --restart always \
 --volume /srv/gitlab/config:/etc/gitlab:Z \
 --volume /srv/gitlab/logs:/var/log/gitlab:Z \
 --volume /srv/gitlab/data:/var/opt/gitlab:Z \
 gitlab/gitlab-ce:latest

About

Docker入门

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /