欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker教程通俗易懂

程序员文章站 2022-04-19 20:58:25
...

docker简介

docker教程通俗易懂
docker教程通俗易懂
docker教程通俗易懂

docker安装与启动

1.yum包更新到最新
sudo yum update

2.安装所需的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux
/centos/docker-ce.repo

4.安装docker
sudo yum install docker-ce

4.1 安装containerd.io-1.2.6-3.3.el7.x86_64.rpm
dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

5.安装后查看docker版本
docker -v

6.启动docker并加入开机自动启动
systemctl start docker
systemctl enable docker

7.重新加载配置文件
systemctl reload  docker

8.重启docker
systemctl restart docker

centos8安装docker报错

  • Error:
    Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

docker教程通俗易懂
docker教程通俗易懂

dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

docker教程通俗易懂
docker教程通俗易懂

设置ustc的镜像

ustc是老牌的linux镜像服务提供者,ustc的docker镜像加速器速度很快。ustc docker mirror 的优势就是不需要注册,是真正的公共服务。

1.编辑该文件

vi /etc/docker/daemon.json

2.在该文件中输入如下内容:
{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
    
}

启动停止docker

1.启动docker
systemctl start docker

2.查看docker启动状态
systemctl status docker

3.停止docker
systemctl stop docker

4.重启docker
systemctl restart docker

5.开机自启
systemctl enable docker

6.查看概要信息
docker info 

7.查看docker帮助文档
docker --help

docker教程通俗易懂

docker镜像常用命令

  • 查看镜像

docker教程通俗易懂

1.查看镜像
docker images

docker教程通俗易懂

  • 搜索镜像
    docker教程通俗易懂
1.搜索镜像(搜索的是互联网上的镜像)
docker search 镜像名称

docker教程通俗易懂

  • 拉取镜像
1.拉取镜像
docker pull centos:7

docker教程通俗易懂

  • 删除镜像
1.按镜像ID删除镜像
docker rmi 镜像ID

2.删除所有镜像
docker rmi 'docker images -q'  (左上角的单引号)

docker教程通俗易懂
docker教程通俗易懂

docker容器相关的命令

  • 查看容器
1. 查看正在运行的容器
docker ps

2.查看所有的容器
docker ps -a

3.查看最后一次运行的容器
docker ps -l

4.查看停止的容器
docker ps -f status-exited
  • 创建与启动容器

docker教程通俗易懂

1.交互式方式创建容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash

2.退出当前容器
exit

3.守护方式创建容器
docker run -di --name=容器名称 镜像名称:标签

4.登录守护式容器方式
docker exec -it 容器名称(或者容器id) /bin/bash

docker教程通俗易懂
docker教程通俗易懂

1.进入守护方式进行的容器
docker exec -it  mycentos2(容器名称) /bin/bash

docker教程通俗易懂

  • 停止与启动容器
1.停止容器
docker stop 容器名称(或者容器ID)

2.启动容器
docker start 容器名称(或者容器ID)

docker教程通俗易懂

  • 文件拷贝
docker cp 文件路径 容器名称:容器目录

docker cp 容器名称:容器目录 需要拷贝的文件或者目录
  • 目录挂载
    docker教程通俗易懂
1.就是目录共享
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name-mycentos3 centos:7

docker教程通俗易懂

  • 获取容器的ip

docker教程通俗易懂

docker inspect --format='{{.NetworkSettings.IpAddress}}' mycentos3

docker教程通俗易懂

  • 移除容器
1.移除容器之前必须先停掉容器
docker rm mycentos3

docker教程通俗易懂

ubuntu18.04部署

  • 下载容器
1.docker pull ubuntu:18.04
  • 运行容器
1.docker run -di --name=myubuntu ubuntu:18.04 /bin/bash

docker教程通俗易懂

  • 查看容器ip
1.docker inspect myubuntu

docker教程通俗易懂

  • 查看正在运行的容器
1.docker ps

docker教程通俗易懂

  • 进入守护式创建的容器
1.进入守护方式进行的容器
docker exec -it  myubuntu(容器名称) /bin/bash

docker教程通俗易懂

  • 进入容器安装curl报错
    docker教程通俗易懂
解决问题
1.apt-get update 
2.apt-get-upgrade
3.apt-get install curl 安装成功
  • 无法Ping

docker教程通俗易懂

  • systemctl command not found

docker教程通俗易懂
docker教程通俗易懂

jdk部署

  • 查找jdk镜像
docker search jdk

docker教程通俗易懂

  • 下载openjdk镜像
docker pull openjdk
  • 运行jdk容器
docker run -d -it --name myopenjdk openjdk /bin/bash

格式: docker  run  -d  -it   [镜像名称或id]    /bin/bash

注意: -it   /bin/bash  一定不能省了,不然jdk起不来,或者懒人写法 -it  bash  也可以。
  • 进入容器验证:
docker exec -it myopenjdk /bin/bash

mysql部署

docker教程通俗易懂

1.拉取mysql镜像
docker pull centos/mysql-57-centos7

2.创建容器
docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p代表端口映射,格式为 宿主机映射端口:容器运行端口
-e代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登录密码

3.进入mysql容器
docker exec -it tensquare_mysql /bin/bash

4.登录Mysql
mysql -u root -p


docker教程通俗易懂

tomcat部署

docker教程通俗易懂

1.拉取镜像
docker pull tomcat:7-jre7

2.创建容器
创建容器 -p表示地址映射
-v表示目录映射
docker run -di --name=mytomcat -p 9000:8080
-v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7

zookeeper部署

  • 部署流程
1. systemctl status firewalld   查看防火墙状态
2. systemctl disable firewalld  关闭防火墙
3. docker pull zookeeper:3.5    下载zookeeper镜像
4. docker images 				查看镜像   
5. docker run -di --name=zk -p 2181:2181 zookeeper:3.5   以守护方式(后台运行)运行容器
6. docker exec -it zk /bin/bash 进入容器    

docker教程通俗易懂

nginx部署、

1.拉取镜像
docker pull nginx

2.创建nginx容器
docker run -di --name=mynginx -p 80:80 nginx

redis部署

1.拉取镜像
docker pull redis

2.创建容器
docker run -di --name=myredis -p 6379:6379 redis

docker教程通俗易懂

迁移与备份

1.将容器保存为镜像
docker commit mynginx mynginx_i

2.镜像备份
docker save -o mynginx.tar mynginx_i

3.镜像恢复与迁移
首先我们先删除掉mynginx_img镜像,然后执行此命令进行恢复
docker load -i mynginx.tar
-i输入的文件  执行后再次查看镜像,可以看到镜像已经恢复

dockerfile

docker教程通俗易懂
docker教程通俗易懂
docker教程通俗易懂
docker教程通俗易懂

docker私有仓库的创建

docker教程通俗易懂

1.拉取私有仓库镜像
docker pull registery

2.启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry

3.打开浏览器 输入地址 http://192.168.184.141:5000/v2/_catalog看到{"registories":[]}表示私有仓库搭建成功并且内容为空

4.修改daemon.json
vi /etc/docker/daemon.json

添加如下内容.保存退出
{"insecure-registries":["192.168.184.141:5000"]}
此步用于让docker信任私有仓库地址

docker教程通俗易懂