服务器环境:CentOS 7.9 64位
查看系统内核:
uname -r
查看系统版本:
cat /etc/os-release
Docker 要求系统为64位、Linux内核版本 3.10 以上。
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils
阿里云镜像源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce docker-ce-cli containerd.io
提示
当使用yum后用ctrl+z强制退出,再次yum install xxx会出现:Waiting for process with pid XXX to finish.
当使用ps命令时,却看不到对应的线程。这时可以通过下面的命令查询与yum有关的杀不死的进程:
ps -ef | grep yum
然后执行指令:
kill -9 XXX
注意输入的数字是第三列的,如果输第二列的还是杀不掉。
systemctl start docker ## 停止 systemctl stop docker ## 重启 systemctl restart docker ## 设置开机启动 systemctl enable docker
docker version
通过运行 hello-world 镜像来验证是否正确安装了Docker Engine-Community。
docker run hello-world
docker images
## 卸载依赖 yum remove docker-ce docker-ce-cli containerd.io ## 删除资源(docker的默认工作路径) rm -rf /var/lib/docker
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://g71ab123.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker
## 显示docker的系统信息 docker info ## 帮助命令 docker 命令 --help
## 下载镜像 docker pull 镜像名 ## 指定版本下载 docker pull mysql:5.7 ## 删除指定镜像 docker rmi -f 镜像id ## 删除多个镜像 docker rmi -f 镜像id 镜像id ## 删除全部镜像 docker rmi -f $(docker images -aq)
有了镜像才能创建容器,这里下载一个 centos 镜像来测试学习。
docker pull centos
docker run -it centos /bin/bash
-it:使用交互式方式运行。
## 停止并退出 exit
想要容器不停止退出,使用快捷键Ctrl + P + Q。
docker ps ## 列出当前正在运行的容器 + 历史运行过的容器 docker ps -a ## 显示最近创建的容器 docker ps -n=1 ## 只显示容器id docker ps -aq
## 不能删除正在运行的容器,强制删除用 rm -f docker rm 容器id ## 删除所有容器 docker rm -f $(docker ps -aq)
docker start 容器id docker stop 容器id docker restart 容器id docker kill 容器id
curl -L https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose ## 添加执行权限 chmod +x /usr/local/bin/docker-compose ## 查看版本信息 docker-compose --version
-o/--output : 指定输出文件名称
## 查看防火墙打开的在公共区域中允许访问的端口列表 firewall-cmd --zone=public --list-ports
## 查看防火墙状态 firewall-cmd --state ## 如果处于关闭状态 systemctl start firewalld.service ## 开启8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent ## 重启防火墙 systemctl restart firewalld.service ## 重新载入配置 firewall-cmd --reload
--permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效
## 关闭防火墙 systemctl stop firewalld.service ## 永久关闭防火墙 systemctl disable firewalld.service
本文作者:a
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!