docker安装
但如果我们运行容器服务本身是用来做数据存储之类的,那么就不一样了。
Docker默认在Linux中默认数据存放在 /var/lib/docker 目录下的,我们可以通过 df -h 命令查到(如果你的docker已经有镜像和运行的容器),比如:
var一般都是我们系统磁盘的位置,那么就非常的费磁盘空间了。
我的服务器有一块500G的数据盘,并被我挂载到了 /mnt 目录下(Linux服务器挂载磁盘方法),所以我希望我的Docker数据也放在 /mnt 路径下。
1.停止DOCKER服务
service docker stop
2.修改 DAEMON.JSON 文件
https://mirror.ccs.tencentyun.com
http://registry.docker-cn.com
http://hub-mirror.c.163.com
如果daemon.json 文件不存在,新建即可。
-
vim /etc/docker/daemon.json
-
-
{
-
"graph":"/mnt/docker-data"
-
}
/mnt/docker-data 是要指定存放的路径
3.重启DOCKER服务
service docker restart
4.检查修改结果
docker info
查看 Docker Root Dir: 是否是刚刚修改的路径,例如:
更新pip后的报错UserWarning: Setuptools will stop working on Python 2
python 3 在终端输入:
python3 -m pip uninstall pip setuptools wheel
sudo apt-get --reinstall install python3-setuptools python3-wheel python3-pip
1
2
python 2 在终端输入:
python -m pip uninstall pip setuptools wheel
sudo apt-get --reinstall install python-setuptools python-wheel python-pip
9. 卸载 Docker
-
这里是为了记录卸载 Docker 命令,慎操作
-
下面命令是一行,由于太长使用 ‘\’ 换行分割
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
10. Docker 常用命令
docker images 查看本地镜像
docker ps : 查看当前运行的容器信息
docker start [容器ID]:启动容器
docker exec -it [容器ID] /bin/bash : 进入容器
docker stop $(docker ps -a -q) 先全部停止
docker exec -it java bash 进入java容器
docker --help #Docker帮助
docker --version #查看Docker版本
docker search <image> #搜索镜像文件,如:docker search mysql
docker pull <image> #拉取镜像文件, 如:docker pull mysql
docker images #查看已经拉取下来的所以镜像文件
docker rmi <image> #删除指定镜像文件
docker run --name <name> -p 80:8080 -d <image> #发布指定镜像文件
docker ps #查看正在运行的所有镜像
docker ps -a #查看所有发布的镜像
docker rm <image> #删除执行已发布的镜像
1. 确定服务器上是否安装了Docker
1 | docker version |
Linux操作系统中输入docker version,如果返回-bash: docker: command not found,则表明当前服务器未安装Docker。
6、验证安装是否成功
-
# 验证安装是否成功
-
docker version
Step3 修复冲突报错
然后更新系统试试
yum -y update
docker 安装
错误
配置centos的yum源时报错Could not resolve host: mirrors.aliyun.com; Unknown error
当前无法解析域名,需要配置域名解析服务器
2 解决办法
1)打开/etc/resolv.conf文件
2) 写入如下内容
nameserver 8.8.8.8
nameserver 114.114.114.114
重启网络生效即可
service network restart
4)再次执行cutl命令,此时发现可以正常执行
DNS客户端配置文件:etc/resolv.conf
/etc/resolv.conf文件相当于windows如下图:
当然/etc/resolv.conf文件为辅助配置DNS文件,其实在网卡里也可以配置DNS的
/etc/sysconfig/network-scripts/ifcfg-eth0
注意:centos 6以上版本可以在网卡里配置;网卡里的配置优先于resolv.conf。
如果网卡里没配置DNS,那么resolv.conf里可以配置,比较方便。
当然你也可以用setup命令配置DNS
但是我从启网卡后配置的DNS被清除了...
要想不被清除,得需要在/etc/sysconfig/network-scripts/ifcfg-eth0和resolv.conf两个地方都配置好DNS。
Docker Community Edition 镜像使用帮助
注意: 本镜像只提供 Debian/Ubuntu/Fedora/CentOS/RHEL 的 docker 软件包,非 dockerhub
自动安装
Docker 提供了一个自动配置与安装的脚本,支持 Debian、RHEL、SUSE 系列及衍生系统的安装。
以下内容假定
- 您为 root 用户,或有 sudo 权限,或知道 root 密码;
- 您系统上有 curl 或 wget
export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
# 如您使用 curl
curl -fsSL https://get.docker.com/ | sh
# 如您使用 wget
wget -O- https://get.docker.com/ | sh
Debian/Ubuntu 用户
以下内容根据 官方文档 修改而来。
如果你过去安装过 docker,先删掉:
sudo apt-get remove docker docker-engine docker.io containerd runc
首先安装依赖:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
信任 Docker 的 GPG 公钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
添加软件仓库:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
最后安装
sudo apt-get update
sudo apt-get install docker-ce
Fedora/CentOS/RHEL
以下内容根据 官方文档 修改而来。
如果你之前安装过 docker,请先删掉
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
安装一些依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
把软件仓库地址替换为 TUNA:
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
最后安装:
sudo yum makecache fast
sudo yum install docker-ce
卸载旧版本(如果安装过旧版本的话):
sudo yum remove -y docker*
为了方便测试请关闭selinux,关闭防火墙
SELinux防火墙设置:
1 [root@localhost#getenforce 2 Disabled 3 修改/etc/selinux/config文件 4 将SELINUX=enforcing改为SELINUX=disabled
Firewalld防火墙的设置:
1、firewalld的基本使用:防火墙禁用
启动:systemctl start firewalld 关闭:systemctl stop firewalld 查看状态:systemctl status firewalld 开机禁用:systemctl disable firewalld 开机启用:systemctl enable firewalld
2、firewall-.cmd的基本使用:
那怎么开启一个端口呢: firewall--cmd-zone=public-add-port=80/tcp-permanent(-permanent永久生效, 没有此参数重启后失效)
重新载入: firewall-cmd --reload 修改firewall--cmd配置后必须重启 查看: firewall-cmd --zone=public --query-port=80/tcp 删除: firewall-cmd --zone=public --remove-port=80/tcp --permanent
2.卸载老的版本
较老版本的Docker被称为Docker或Docker-Engine。如果安装了这些组件,请卸载它们以及关联的依赖项。
1 sudo yum remove docker \ 2 docker-client \ 3 docker-client-latest \ 4 docker-common \ 5 docker-latest \ 6 docker-latest-logrotate \ 7 docker-logrotate \ 8 docker-engine
如果没有安装这些程序包,那也没关系。
保留/var/lib/docker/的内容,包括图像、容器、卷和网络。Docker Engine包现在称为docker-ce。
3.设置储存库
安装yum-utils包(它提供yum-config-Manager实用程序)并设置存储库。
1 sudo yum install -y yum-utils 2 sudo yum-config-manager \ 3 --add-repo \ 4 https://download.docker.com/linux/centos/docker-ce.repo
4.安装docker引擎
安装最新版本的Docker Engine、containd和Docker Compose,或者执行下一步安装具体版本:
1 sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
如果提示接受GPG密钥,请验证指纹是否与060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35匹配,如果匹配,则接受。
这个命令安装Docker,但它不会启动Docker。它还创建了一个docker组,但是默认情况下它不会向组中添加任何用户。
要安装特定版本的Docker引擎,请在repo中列出可用的版本,然后选择并安装:
列出和排序您的回购中可用的版本。这个例子根据版本号从高到低对结果进行排序,并且被截断:
1 yum list docker-ce --showduplicates | sort -r 3 docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable 4 docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable 5 docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable 6 docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
返回的列表取决于启用了哪些存储库,并且特定于您的CentOS版本(在本例中由.el7后缀表示)。
通过其完全限定的包名安装特定版本,该包名是包名(docker-ce)加上版本字符串(第二列),从第一个冒号(:)开始,直到第一个连字符,用连字符(-)分隔。例如,docker-ce-18.09.1。
1 sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
这个命令安装Docker,但它不会启动Docker。它还创建了一个docker组,但是默认情况下它不会向组中添加任何用户。
启动docker:
1 sudo systemctl start docker
通过运行hello-world映像来验证Docker引擎是否正确安装:
1 sudo docker run hello-world
该命令下载一个测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
这将安装并运行Docker Engine。使用sudo运行Docker命令。继续执行Linux安装后配置,以允许非特权用户运行Docker命令和其他可选配置步骤。
查看docker状态:
systemctl status docker
这个时候我们可以看到我们的docker已经启动
首先需要大家虚拟机联网,安装yum工具
yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken
然后更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后输入命令:
yum install -y docker-ce
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
启动docker前,一定要关闭防火墙后!!
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld
通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
1.4.配置镜像加速
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
##创建文件夹
sudo mkdir -p /etc/docker
> ##在文件夹内新建一个daemon.json文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF
##重新加载文件
sudo systemctl daemon-reload
##重启docker
sudo systemctl restart docker
一,yum 安装 gcc&&gcc-c++
gcc和c++都是包,gcc和gcc-c++是代码编译软件(c&&c++),这是必备的所以需要当作基本环境安装
yum -y install gcc yum -y install gcc-c++ 也可以合并 yum -y install gcc gcc-c++
二,安装docker
按照官网文档安装步骤安装最好,链接:https://docs.docker.com/engine/install/centos/
1.卸载旧版本
$ sudo 暂时切换到超级用户模式以执行超级用户权限,一般是给没有root的普通用户做安装使用不用 加 sudo 直接用管理员账号登录也可以
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2.
设置源仓库
第二步,设置仓库。新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。此后可从仓库安装和更新Docker。
在设置仓库之前,需先按照所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
$ sudo yum install -y yum-utils
或
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3.使用以下命令来设置稳定的仓库。
# 错误,这个是官方的,太慢容易出错 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ## 报错 [Errno 14] curl#35 - TCP connection reset by peer [Errno 12] curl#35 - Timeout # 正确推荐使用国内的,阿里 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.更新软件包索引
#centos7 yum makecache fast #centos8 yum makecache
5.安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
如果不需要docker-ce-cli或containerd.io可直接执行如下命令:
yum install -y docker-ce
6.启动docker
systemctl start docker
或
sudo systemctl start docker
7.测试
docker version #查看版本
docker run hello-world #通过运行hello-world
镜像像来验证是否正确安装了Docker Engine 。
docker images #查看本地镜像信息,helloworld是否已下载到本地
1.uname -f 查看当前的内核版本 docker得在内核版本3.10以上安装
或者uname -r
或者lsb_release -a 查看版本
2.yum -y update 使用root权限登录 去报yum包更新到最新
添加 yum 仓库
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
安装 Docker
yum
install
-y docker-engine
启动docker
systemctl start docker.service
验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
使用docker version命令查看
设置开机自启动
sudo
systemctl
enable
docker
3.卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
4.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5.设置yum源
# 错误,这个是官方的,太慢容易出错
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
## 报错
[Errno 14] curl#35 - TCP connection reset by peer
[Errno 12] curl#35 - Timeout
# 正确推荐使用国内的,阿里
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
阿里云
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
如果报错
解决方法
vi /etc/resolv.conf
nameserver 114.114.114.114
解决了 supervisor-3.4.0-1.el7.noarch: [Errno 256] No more mirrors to try.

执行
yum clean all
yum makecache

yum-config-manager --disable plus
6.可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
7.安装docker
sudo yum install -y docker-ce
#由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1
列表中:
docker-ce.x86_64 3:19.03.15-3.el7 docker-ce-stable
指定版本安装,docker-ce-(下一列冒号后版本信息)
#sudo yum install -y docker-ce-19.03.5-3.el7
#sudo yum install docker-ce-19.03.5-3.el7 containerd.io
#sudo yum install docker-ce-cli-19.03.5-3.el7 containerd.io
或
#sudo yum install docker-ce-19.03.5-3 docker-ce-cli-19.03.5-3 containerd.io
我的选择
sudo yum install -y docker-ce
4、配置国内的docker镜像源,加速下载
https://mirror.ccs.tencentyun.com
http://registry.docker-cn.com
http://hub-mirror.c.163.com
mkdir /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
或
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://oenttmu4.mirror.aliyuncs.com"]
}
EOF
2.重启daemon.json文件
sudo systemctl daemon-reload
3.重启docker
sudo systemctl restart docker
注意:修改daemon文件后必须重启
8.启动并加入开机启动
systemctl start docker
systemctl enable docker
或
sudo systemctl start docker
sudo systemctl enable docker
9. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
安装完后再使用
1 | yum list installed | grep docker |
查看安装列表,若安装成功,此时是可以看到安装的docker列表。
4.启动Docker并设置开机自启
1 | systemctl start docker |
重启docker,在不行重启虚拟机
systemctl daemon-reload
systemctl restart docker.service
systemctl status docker.service
注意启动成功也不会返回提示信息,直接下一步查看docker的服务状态。
1 | 启动: |
1 | systemctl start docker |
开机启动:
1 | systemctl enable docker |
5.查看docker服务状态
1 | systemctl status docker |
若提示 active (running),则说明docker安装成功
给docker-compose执行权限,运行命令
1 | sudo chmod +x /usr/local/bin/docker-compose |
如果配置了sh文件则需要给他执行权限
1 | sudo chmod +x /gds/auto.sh |
安装方法有两种:
1.从docker存储库中拉取进行安装,以简化安装和升级任务。推荐。
2.下载RPM软件包并手动安装,并完全手动管理升级。
这边只描述使用存储库进行安装
安装yum-utils
sudo
yum
install
-yyum-utils
设置存储库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本docker engine和容器
sudo yum install docker-ce docker-ce-cli containerd.io
常用命令
# 启动docker
sudo systemctl start docker
# 重启docker
sudo systemctl restart docker
# 查看docker服务状态
sudo systemctl status docker
# 将docker服务设置为开机启动
sudo systemctl enable docker
# 查看docker版本信息
docker --version
卸载docker包
sudo yum remove docker-ce docker-ce-cli containerd.io
主机上docker一些容器,卷或自定义配置文件不会自动删除,可以使用命令删除:
sudo rm -rf /var/lib/docker
如果是Linux为Ubuntu
第 1 步:要在 Ubuntu 机器上安装 docker,首先让我们更新软件包。
sudo apt-get update
输入密码:
第 2 步:现在在安装 docker 之前,我需要安装推荐的软件包:
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
按“y”继续:
在此之后,我们完成了先决条件!
现在,让我们继续安装 Docker。
第 3 步: 输入以下命令安装 docker 引擎:
sudo apt-get install docker-engine
有时它会再次询问密码,按回车键,安装将开始。
这样一做,你安装docker的任务就完成了!
第 4 步:启动 docker 服务:
sudo service docker start
它说你的工作已经在运行,docker已经安装成功。
第 5 步:现在只是为了验证 docker 是否成功运行,让我向您展示如何从 docker hub 拉取 CentOS 映像并运行 CentOS 容器,为此,只需输入以下命令:
sudo docker pull centos
首先,它将检查 CentOS 映像的本地注册表。如果在那里没有找到,那么它将转到 docker hub 并拉取镜像:
这样我们就成功地从 docker hub 拉取了一个 centOS 镜像,运行 CentOS 容器:
sudo docker run -it centos
安装docker-compose
列出所有运行的服务
docker-compose ps
6.安装docker-compose插件,用于docker容器里面部署应用
(1)运行命令安装
1 docker-compose
wget https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
将可执行权限应用于二进制文件:
$ sudo chmod +x /usr/local/bin/docker-compose
创建软链:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
$ docker-compose --version
2.10.2
1、不同版本直接下载
我用的是这个
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
国产系统安装
uname 命令
uname -m 直接显示Linux 系统架构
uname -a 命令也可以显示Linux 系统架构,但是还有和其他信息
选择
curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
最新
curl -SL https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
需先下载带电脑再上传到服务器
curl -SL https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o
/usr/local/bin/docker-compose
curl -SL "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o
/usr/local/bin/docker-compose
curl -SL https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-x86_64 -o
/usr/local/bin/docker-compose(直接github下载会更快)
curl -SL https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64 -o
/usr/local/bin/docker-compose
2、chmod +x /usr/local/bin/docker-compose
3、docker-compose --version
架构 |
下载地址 |
X86 |
https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 |
aarch64 |
https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-aarch64 |
armv7 |
https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-armv7 |
sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
或
1 | sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
1 | sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
二、通过pip在线安装
1、安装python-pip
yum -y install epel-release
yum -y install python-pip
2、安装docker-compose
pip install docker-compose
3、docker-compose -v
三、离线安装(推荐)
1、https://github.com/docker/compose/releases,找到具体源文件下载,跟第一种类似
2、chmod +x /usr/local/bin/docker-compose
3、docker-compose --version
附带一些常用命令
#前台启动
docker-compose up
# 后台启动
docker-compose up -d
#停止容器
docker-compose down
#停止容器并移除数据
docker-compose down -v
- 若下载失败,点击以下链接
docker-compose下载 - 选择一个版本下载
- 上传到
/usr/local/bin
目录下
(2)给docker-compose执行权限,运行命令
1 | sudo chmod +x /usr/local/bin/docker-compose |
(3)查看docker-compose版本
1 | docker-compose version |
4、查看版本
docker-compose version
显示类似于图片中信息即为成功
给docker-compose执行权限,运行命令
1 | sudo chmod +x /usr/local/bin/docker-compose |
如果配置了sh文件则需要给他执行权限
1 | sudo chmod +x /gds/auto.sh |
定义yml文件
1、将nginx镜像下载
docker pull nginx
2、编写docker-compose.yml文件。注意YML文件的格式。
1
2
3
4
5
6
7
8
9
10
11
12
|
version: '3' #版本号 services: #docker容器 nginx: #容器名称 container_name: nginx-1 #自定义启动后容器名 restart: always #设置为always,表明此容器应该在停止的情况下总是重启 image: nginx:latest #镜像名:版本号 ports: #启动端口号 - 4433:80 volumes: #数据卷,将容器中的文件与服务器映射 - . /conf .d: /etc/nginx/conf .d environment: #环境配置 TZ: Asia /shanghai |
3、启动。在yml文件下
docker-compose up -d
8.Docker常见操作命令
(1)查看已经运行的容器
1 | docker ps |
(2)查看所有的容器
(3)停止容器
1 | docker stop <容器id或者容器name> |
(4)启动容器
1 | docker start <容器id或者容器name> |
(5)删除已经停止的容器 rm 不行就用 rmi
1 | docker rm <容器id或者容器name> |
(6)强制删除容器,包含没有停止的容器 rm 不行就用 rmi
1 | docker rm -f <容器id或者容器name> |
(7)进入容器
1 | docker exec -it <容器id或者容器name> /bin/bash |
(8)对应目录下运行docker-compose文件
1 | docker-compose up -d |
(9)停用移除所有容器以及网络相关
1 | docker-compose down |
(10)删除本地一个或多少镜像
1 | docker rmi -f 镜像id //带-f表示强制删除 |
1 | docker rm 名称id //表示删除docker images 查看当前镜像 |
如果遇到配置错误 ,删不掉镜像
docker kill 3174706b2fa7 杀死images
再删除
一、images 命令列出镜像
通过使用如下两个命令,列出本机已有的镜像:
docker images
或:
docker image ls
退出容器三种方式
一, 命令
exit
二,快捷方式
ctrl + D
三,快捷方式
ctrl + P 在加 ctrl + Q
#退出,但不停止容器
Ctrl+P+Q
进入docker-compose下的mysql
docker ps //获取应用的id
docker exec -it docker中的id bash mysql -uroot -p 输入密码
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
后面的备用:
安装python3
yum -y install python3
利用pip3下载安装docker-compose,centos8
yum -y install epel-release #Centos 8已经换成python3 使用该命令解决 yum -install python3-pip
#查看版本 pip3 --version
安装compose
pip3 install docker-compose
//中途安装报错时,可手动yum install相应的组件
#查看版本 docker-compose version
#删除docker-compose sudo rm /usr/local/bin/docker-compose
1.搜索redis版本
docker search redis
2.拉取镜像
docker pull redis
该命令是拉取最新版的redis,如需安装指定版本的就根据上面命令查出来的结果,选择一个版本替换其中的redis即可,
查数据库版本:select version();
查docker版本:docker --version
查docker中redis的版本:
docker ps 查看容器中redis的名称
docker exec -it 你容器中redis的名称 redis-server -v
docker exec -it gds-redis redis-server -v
docker安装redis方法:
1.用命令来查看可用版本: docker search redis
2.拉取官方的最新版本的镜像:docker pull redis:latest
3.查看镜像:docker images
4.运行 redis 容器:docker run -itd --name redis-test -p 6379:6379 redis
docker run -itd --name gds-redis -p 6379:6379 redis
docker run --name docker-redis -p 6379:6379 redis
命令含义是:启动一个容器,名称是docker-redis,映射容器端口6379到宿主机的端口6379,基于redis镜像。
启动redis命令:docker run -itd --name gds-redis -p 16379:6379 -d redis:latest --requirepass "xxxxx"
redis启动的默认端口号是6379,这个时候宿主机使用16379进行映射,并设置授权密码xxxxx,
如果是腾讯的轻量级服务器,要使用可视化工具远程连接的话,记得去腾讯控制台放行6379端口
给redis设置密码:
先用命令 查看容器id
1.进入redis的容器 docker exec -it 容器ID bash
docker exec -it gds-redis bash
2.进入redis目录 cd /usr/local/bin
3.运行命令:redis-cli
如果有密码则redis-cli -h 127.0.0.1 -p 6379 -a password
docker exec -it redis redis-server -v
docker exec -it gds-redis redis-server -v
4.查看现有的redis密码:config get requirepass
(error) NOAUTH Authentication required.
4.5如果出现这个 auth 你的密码 不需要 引号
5.设置redis密码config set requirepass xxxxx(xxxxx为你要设置的密码)
redis-server --version #查看redis版本
#或
启动的时候只要配置了docker-compose.yml文件自动会下载里面的redis
如果里面已经设置了密码 开始就设置好了
6.重启redis
docker restart redis
# 启动docker,auto_service.sh中写自启脚本
docker run --net=host -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --restart=always --privileged=true -d -i -t 3b7d76985869 /usr/local/cps/auto_service.sh
--net=host 表示使用主机网络
--restart=always 开机自启这个镜像,如果要停止 ( docker rm -f 容器id )
--privileged=true 特权模式
-d 表示后台运行,在后台运行容器,并且打印容器id。
-i -t 即使没有连接,也要保持标准输入
/usr/local/cps/auto_service.sh 镜像启动之后需要运行的脚本
--mac-address 00:00:00:00:00:11 固定docker的mac地址
后端代码位置:/gds/jar
cd /gds
./auto.sh xxx
docker-compose logs -f xxx
前端代码位置:/gds/你的项目
cd /home
docker-compose ps 查看镜像
docker-compose stop xxx
docker-compose rm xxx
选择y
docker-compose build xxx
docker-compose up xxx
docker-compose logs -f xxx
如果配置了sh文件则需要给他执行权限
1 | sudo chmod +x /gds/auto.sh |
同样的也是使用dockerfile的方式编写基础镜像等
然后需要新建一个docker-compose.yml,编写模板文件
nginx
查看nginx位置
1 2 3 4 5 | ps -ef | grep nginx # ps -ef | grep nginx root 29514 1 0 mar01 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; www-data 29515 29514 0 mar01 ? 00:00:00 nginx: worker process root 30276 28948 0 09:36 pts /1 00:00:00 grep --color=auto nginx |
通常是 /usr/sbin/nginx
或/etc/nginx
或
1 | /usr/local/nginx/sbin//usr/sbin nginx sbin在这里 yum安装的话 |
2、程序并没有运行
查看软件安装路径
whereis nginx
查询运行文件所在路径
which nginx
当然还有另外的查询方法
rpm包安装的,可以用rpm -qa | grep “软件或者包的名字”查询;
yum方法安装的,可以用yum list installed查找;
重启
./nginx -s reload
获取配置文件位置
通过上面的一些方法,找到了nginx可执行文件的路径,就可以通过nginx自身的功能找到配置文件的位置了。
1 2 3 | # /usr/sbin/nginx -t nginx: the configuration file /etc/nginx/nginx .conf syntax is ok nginx: configuration file /etc/nginx/nginx .conf test is successful |
docker 版本查看
docker -v
nginx 版本查看
cd /usr/local/nginx/sbin/
./nginx -v
-------------------------------------------nginx------------------------------------
cd /usr/local/nginx/sbin
1、验证nginx配置文件是否正确
方法一:进入nginx安装目录sbin下,输入命令./nginx -t
看到如下显示nginx.conf syntax is ok
nginx.conf test is successful
说明配置文件正确!
在启动命令-c前加-t
方法一:进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可
方法二:查找当前nginx进程号,然后输入命令:kill -HUP 进程号 实现重启nginx服务
nginx运行进程,执行ls -l /proc/进程号/exe ,然后会打印出安装/运行位置
ps -aux|grep nginx
ls -l /proc/进程号/exe
当然也可以使用 find 命令进行文件查找
# 从 / 根目录下查找文件名为 nginx.conf 的文件
find / -name nginx.conf
# 从 /etc 目录下查找文件名为 nginx.conf 的文件
find /etc -name nginx.conf
1、退出到根目录;cd /
2、进入usr/local目录:cd /usr/local
3、查看该目录下是否有ginx文件夹,如果有证明环境搭建成功
4、nginx启动命令/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
1 | |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库