centos7 离线安装docker以及常用命令
- 下载docker的安装文件
https://download.docker.com/linux/static/stable/x86_64/
下载的是:docker-18.06.3-ce.tgz 这个压缩文件
- 将docker-18.06.3-ce.tgz文件上传到centos7-linux系统上,用ftp工具上传即可
- 解压
[root@localhost java]# tar -zxvf docker-18.06.3-ce.tgz
- 将解压出来的docker文件复制到 /usr/bin/ 目录下
[root@localhost java]# cp docker/* /usr/bin/
- 进入/etc/systemd/system/目录,并创建docker.service文件
[root@localhost java]# cd /etc/systemd/system/ [root@localhost system]# vim docker.service
注意: --insecure-registry=192.168.200.128 此处改为你自己服务器ip
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=192.168.200.128 ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target
- 给docker.service文件添加执行权限
[root@localhost system]# chmod 777 /etc/systemd/system/docker.service 重新加载配置文件(每次有修改docker.service文件时都要重新加载下) [root@localhost system]# systemctl daemon-reload 启动 [root@localhost system]# systemctl start docker 设置开机启动 [root@localhost system]# systemctl enable docker.service 查看docker状态 [root@localhost system]# systemctl status docker
出现下面这个界面就代表docker安装成功。
- 配置镜像加速器,默认是到国外拉取镜像速度慢,可以配置国内的镜像如:阿里、网易等等。下面配置一下网易的镜像加速器。打开docker的配置文件: /etc/docker/daemon.json文件:
[root@localhost docker]# vi /etc/docker/daemon.json
配置如下:
{"registry-mirrors": ["http://hub-mirror.c.163.com"]}
配置完后:wq保存配置并重启docker 一定要重启不然加速是不会生效的!!!
[root@localhost docker]# service docker restart
- docker常用命令:
启动docker服务 systemctl start docker 停止docker服务 systemctl stop docker 重启docker服务 systemctl restart docker 查看docker服务状态 systemctl status docker 设置开机启动docker服务 systemctl enable docker
查看镜像本地所有镜像
docker images
docker images -q # 查看所有镜像的ID
搜索镜像:从网络中查找需要的镜像
docker search 镜像名称
拉取镜像:从docker仓库下载镜像到本地,镜像名称格式 名称:版本号,如果不指定版本号则是最新版本,如果不知道镜像版本,可以去docker hub搜索对应镜像查看
docker pull 镜像名称
删除镜像
docker rmi 镜像id #删除本地指定镜像
查看容器
docker ps #查看正在运行的容器
docker ps -a 查看所有容器
创建并启动容器
docker run 参数
参数说明:
-i 保持容器运行,通常与-t同时使用,加入it这两个参数后,容器创建后自动进入容器,退出容器后,容器自动关闭
-t 为容器重新分配一个伪输入终端,通常与-i同时使用
-d 以守护(后台)模式运行容器,创建一个容器在后台运行,需要使用docker exec 进入容器,退出后,容器不会关闭
-it 创建的容器一般称为交互式容器
-id 创建的容器一般称为守护式容器
--name 为创建的容器命名
进入容器
docker exec 参数 #退出容器,容器不会关闭
停止容器
docker stop 容器名称
启动容器
docker start 容器名称
删除容器
docker rm 容器名称
查看容器信息
docker inspect 容器名称
创建启动容器时,使用-v参数设置数据卷
docker run ...-v 宿主机目录(文件):容器内目录(文件)
--注意事项:
目录必须时绝对路径
如果目录不存在,会自动创建
可以挂载多个数据卷
配置数据卷容器
--创建启动c3数据卷容器,使用-v参数,设置数据卷
docker run -it --name=c3 -v /vol centos:7 /bin/bash
--创建c1 c2容器,使用--volumes-from参数,设置数据卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash
应用部署
--搜索镜像
docker search mysql
--拉取镜像
docker pull mysql:5.6
--创建容器,设置端口映射、目录映射
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir /root/mysql
cd /root/mysql
创建并运行命令
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
MYSQL:5.6
镜像制作
--容器转为镜像
docker commit 容器id 镜像名称:版本号
docker save -o 压缩文件名称 镜像名称:版本号
docker load -i 压缩文件名称
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术