Docker安装及简单使用

一、安装Docker

1.1 使用官方安装脚本自动安装

 安装命令:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

 也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

1.2  手动安装

1.2.1 卸载旧版本

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

1.2.2 安装相关工具

sudo yum install -y yum-utils

1.2.3 设置yum仓库

官方地址(下载慢)

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

国内一些源地址

##阿里云
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

##清华大学源
$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

1.2.4 安装Docker Engine-Community  和 containerd

$ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

1.3 启动Docker

$ sudo systemctl start docker

二、 配置Docker镜像加速

## 进入文件夹
$ cd /etc/docker
## 找到daemon.json文件并写入阿里云镜像地址
$ vim daemon.json 
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
:wq
## 重新启动服务
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

三、Docker简单使用

3.1 寻找可用镜像版本

镜像库地址:https://hub.docker.com 或 

3.2 拉取镜像

$ docker pull mysql:latest    ##拉取最新版本mysql镜像

 3.3 查看镜像

$ docker images

 3.4 运行容器

$ docker run -d -p 3306:3306 -v /data/mysql/Mysql:/var/lib/mysql  -v /etc/localtime:/etc/localtime      -e MYSQL_ROOT_PASSWORD="xxxxx" --name mysql mysql:8.0.31  --lower-case-table-names=1

## docker run + [可选参数] + 镜像名    启动容器
## 参数说明
## -d 后台方式运行
## -p 指定容器端口(映射宿主机3306端口到容器内的3306端口)
## -v 挂载容器卷(-v 宿主机路径:docker容器内路径)
## -e 设置环境变量(这里是制定了mysql root用户的登录密码)
## --name 执行容器别名(--name mysql)
## mysql:8.0.31 镜像名
## --lower-case-table-names=1 (mysql忽略大小写敏感)

3.5 查看是否启动成功

$ docker ps    

 四、Docker命令

4.1 基础命令

$ docker version    ##查看docker版本信息 
$ docker info    ##查看docker的系统信息,包括镜像和容器的数量
$ docker 命令 --help       #帮助命令(可查看可选的参数)

4.2 镜像命令

$ docker images    ##查看本地镜像
$ docker rmi [OPTIONS] [IMAGE...]    ##删除本地镜像
$ docker save [OPTIONS] [IMAGE...]    ##将指定镜像保存成 tar 归档文件
$ docker load [OPTIONS]    ##导入使用 docker save 命令导出的镜像

4.3 容器命令

$ docker run [OPTIONS] [COMMAND] [ARG...]    ##创建一个新的容器并运行一个命令
# 可选参数上面有解释
$ docker start [容器名]   ##启动容器
$ docker stop [容器名]    ##停止容器
$ docker restart [容器名]    ##重启容器
$ docker kill -s KILL [容器名]    ##杀掉一个运行中的容器
$ docker rm [OPTIONS] [CONTAINER...]    ##删除一个或多个容器
# 可选参数
# -f :通过 SIGKILL 信号强制删除一个运行中的容器
# -l :移除容器间的网络连接,而非容器本身
# -v :删除与容器关联的卷
$ docker pause [容器名]    ##停止容器中所有进程
$ docker unpause [容器名]    ##恢复容器中所有进程
$ docker exec [OPTIONS] [COMMAND][ARG...]    ##在运行的容器中执行命令
# 可选参数
# -d :分离模式: 在后台运行
# -i :即使没有附加也保持STDIN 打开
# -t :分配一个伪终端
$ docker ps    ##列出容器
# 可选参数
# -a :显示所有的容器,包括未运行的
# -f :根据条件过滤显示的内容
$ docker top [容器名]    ##查看容器中运行的进程信息,支持 ps 命令参数
$ docker logs [容器名]   ##获取容器日志 
# 可选参数
# -f : 跟踪日志输出
# --since :显示某个开始时间的所有日志
# -t : 显示时间戳
# --tail :仅列出最新N条容器日志
$ docker port [容器名]    ##查看容器的端口映射情况

 五、容器卷

5.1 概要

设计目的:

卷的设计目的就是数据持久化(类似于redis中的rdb和aof文件),完全独立于容器的生命周期,因此docker不会在容器删除时删除其挂载的容器卷

作用:

将容器中的数据备份到主机的磁盘中

特点:

# 数据卷可在容器之间共享或重用数据

# 卷中的更改可以直接实时生效

# 数据卷中的更改不会包含在镜像的更新中

# 数据卷的生命周期一直持续到没有容器使用它为止

例:

运行一个带有容器卷存储功能的容器实例

$ docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名

查看数据卷是否挂载成功

$ docker inspect 容器id

挂载成功或在容器挂载的目录中创建文件后在宿主机挂载目录下 可查看到

5.2 设置容器卷的读写规则

读写(默认)

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名

只读 (容器实例内部被限制,只能读取不能写 。此时如果宿主机写入内容可以同步到容器内,容器内可以读到,但容器内没有写的功能。)

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

5.3 卷的继承与共享 

容器1完成和宿主机的映射

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 --name v1 镜像名

容器2继承容器1的卷规则

 docker run -it --privileged=true --volumes-from v1 --name v2 镜像名

六、Docker网络 

6.1  默认网络

6.1.1

        当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器都会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。

        宿主机和Docker容器之间是可以进行网络连接的,同样的,Docker容器和容器之间也可以直接进行网络连接。

6.1.2 容器互联

        在微服务部署的场景下,注册中心是使用服务名来唯一识别微服务的,而我们上线部署的时候微服务对应的IP地址可能会改动,所以我们需要使用容器名来配置容器间的网络连接。使–link可以完成这个功能。

        首先不设置–link的情况下,是无法通过容器名来进行连接的。centos02容器是可以直接ping通centos01的容器ip,但是无法ping通centos01的容器name,添加参数 –link,可以通过容器name进行连接。centos03容器link到centos01,所以centos03可以直接通过ping centos01的容器名去ping通,但是反过来centos01去ping centos03的容器名是ping不通的。

6.2 自定义网络

6.2.1 创建自定义网络

创建自定义网络命令

$ docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
## 参数解释
## docker network create    创建自定义网络
## --driver bridge    指定驱动是 bridge 
## --subnet     指定子网
## --gateway    指定网关
## mynet    自定义网络名称

查看docker网络

$ docker network ls

        使用自定义网络创建容器后,相同网络name下的容器,不管是通过容器IP还是容器name,都可以进行网络通信

6.2.2 网络联通

        在没有使用connect命令的情况下,不同网络间的容器是无法进行网络连接的。

        例如:cnetos01属于docker0网络,cnetos2属于mynet网络,此时cnetos1与cnetos2两个容器之间是互相ping不通的。

         不同Docker网络之间的容器想要连接的话,需要把该容器注册到另一个容器所在的网络上,使用docker connect命令。

$ docker network connect mynet centos01

connect设置成功后,cnetos1与cnetos2两个容器之间就可以相互访问了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Compose是一个用于定义和管理多容器Docker应用程序的工具。它通过使用YAML文件来定义应用程序的服务、网络和卷等配置,并通过简单的命令来启动、停止和管理应用程序。 安装Docker Compose的步骤如下: 1. 首先确保已经安装Docker。你可以通过运行`docker version`命令来检查Docker是否已经安装成功。 2. 下载Docker Compose的二进制文件。可以使用以下命令来下载最新版本的Docker Compose: ``` sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 3. 授予执行权限给docker-compose二进制文件: ``` sudo chmod +x /usr/local/bin/docker-compose ``` 4. 验证Docker Compose是否安装成功: ``` docker-compose --version ``` 如果显示了正确的版本号,则说明安装成功。 使用Docker Compose创建和管理应用程序的步骤如下: 1. 在项目根目录创建一个名为`docker-compose.yml`的YAML文件。 2. 在`docker-compose.yml`文件中定义你的应用程序的服务、网络和卷等配置。例如,以下是一个简单的示例: ```yaml version: '3' services: web: image: nginx ports: - "80:80" db: image: mysql environment: MYSQL_ROOT_PASSWORD: example ``` 3. 使用以下命令来启动应用程序: ``` docker-compose up ``` 这将根据`docker-compose.yml`文件中的配置创建和启动服务。 4. 如果需要在后台运行应用程序,可以使用以下命令: ``` docker-compose up -d ``` 5. 使用以下命令停止应用程序: ``` docker-compose down ``` 以上就是Docker Compose的安装和基本使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值