1. 安装命令
# 安装需要的软件包
# yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源,这里设置为阿里云,如果不设置将会连接国外的站点,可能会安装失败
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker,这里安装的是docker-ce(社区版),而docker-ee是企业版,是收费的
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 等待安装,查看版本
docker -v
# 设置常用的镜像仓库
vi /etc/docker/daemon.json
# 内容如下
{
"registry-mirrors":[
"https://t59l4t8b.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com/",
"https://docker.mirrors.ustc.edu.cn/",
"http://hub-mirror.c.163.com/",
"http://registry.docker-cn.com"
]
}
# 设置常用的镜像仓库....
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 修改 docker 默认网段(bridge、docker0 的网段)
vi /etc/docker/daemon.json
# 增加 bip 配置,此处必须填写一个有效 ip 地址,否则会导致 docker 无法启动,
# 提示:failed to allocate gateway Address already in use
{
"bip": "192.168.1.1/24"
}
# 为dockerd 设置网络代理 --重启生效
# docker的网络是隔离的,外部设置代理了,对docker不生效,需单独设置
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
# 在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:
[Service]
Environment="HTTP_PROXY=http://192.168.30.204:31080/"
Environment="HTTPS_PROXY=http://192.168.30.204:31080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
# 重启 docker 即可生效
systemctl daemon-reload
systemctl restart docker
为docker设置网络代理
2. 常用命令
2.1 docker命令(systemctl 命令是系统服务管理器指令)、
# 启动docker
systemctl start docker
# 停止docker
systemctl stop docker
# 重启docker
systemctl restart docker
# 开机启动:
systemctl enable docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help
2.2 镜像相关命令
# 查看镜像
# REPOSITORY:镜像名称
# TAG:镜像标签
# IMAGE ID:镜像ID
# CREATED:镜像的创建日期(不是获取该镜像的日期)
# SIZE:镜像大小
docker images
# 搜索镜像命令
# NAME:仓库名称
# DESCRIPTION:镜像描述
# STARS:用户评价,反应一个镜像的受欢迎程度
# OFFICIAL:是否官方
# AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
docker search 镜像名称
# 拉取镜像
# 拉取镜像就是从中央仓库中下载镜像到本地,如果不指定tag则默认是lastest版本,如果要指定版本,则加上“:”然后制定名称
docker pull 镜像名称
# 删除镜像
# 按镜像ID删除镜像
docker rmi 镜像ID
# 删除所有镜像
docker rmi docker images -q
2.3 容器相关命令
# 查看正在运行的容器
docker ps
# 查看所有容器(包括运行的和未运行的)
docker ps –a
# 查看最后一次运行的容器
docker ps –l
# 查看停止的容器
docker ps -f status=exited
# 创建容器命令:
# - i:表示运行容器
# - t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
# - -name :为创建的容器命名(容器名称不能重复)。
# - v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
# - d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
# - p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
#
# 1.交互式方式创建容器,即当我们退出容器时,容器也停止运行了
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
# 2.守护式方式创建容器
docker run -id --name=容器名称 镜像名称:标签
# 进入守护式容器:
docker exec -it 容器名称(或者容器ID) /bin/bash
3.停止与启动容器
# 启动容器
docker start 容器名称(或者容器ID)
# 停止容器:
docker stop 容器名称(或者容器ID)
# 删除指定的容器:
docker rm 容器名称(容器ID)
2.4 私有仓库搭建与配置
(1)拉取私有仓库镜像
# 1. 拉取私有仓库镜像
docker pull registry
# 2. 启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry
# 3. 打开浏览器 输入地址http://192.168.xxx.xxx:5000/v2/_catalog看到{"repositories":[]} 表示私有仓库搭建成功并且内容为空
# 4. 修改daemon.json
vi /etc/docker/daemon.json
# 添加以下内容,保存退出 用于让 docker信任私有仓库地址
{"insecure-registries":["[192.168.xxx.xxx:5000](<http://192.168.xxx.xxx:5000/>)"]}
# 5. 重启docker 服务
systemctl restart docker
评论区