虚拟机安装docker服务

1,886 阅读1分钟

前言

一台新的服务器怎么安装docker,容器怎么启动,并且启动参数都是什么意思能

开始安装

卸载旧的docker服务

防止版本不同存在干扰
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine

准备工具

更新yum工具包
yum install -y yum-utils
yum makecache fast

设置镜像仓库

阿里云仓库
yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
官方仓库
yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

安装docker-ce(社区版-免费的)

yum install docker-ce docker-ce-cli containerd.io

启动docker服务

systemctl start docker

查看是否安装成功

docker version

设置服务开机自动启动

systemctl enable docker.service

设置docker拉取镜像的源和dns服务器地址

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],
  "dns": ["223.5.5.5"]
}

查看docker镜像列表

docker images

拉取镜像

docker pull ***:[版本]

创建docker内部网络

由于容器互相隔离,不同容器间无法互相访问,所以docker提供给不同容器互相访问的方式

创建docker内部网络

docker network create custom-local-net

常用容器启动参数示例

consul

docker run --restart=always -p 8500:8500 --network custom-local-net --name consul -d consul

redis

docker run -p 6379:6379 --name redis \
  -v /opt/docker/redis/data:/data \
  --restart=unless-stopped \
  --network=custom-local-net \
  -d redis \
  --appendonly yes

mysql5.7

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -v /opt/docker/mysql/data:/var/lib/mysql \
  -v /opt/docker/mysql/conf.d:/etc/mysql/conf.d \
  -e MYSQL_ROOT_PASSWORD=root \
  --restart=unless-stopped \
  --network=custom-local-net \
  -d mysql:5.7