docker安装教程图解(Docker在线、离线安装及其常用命令操作)
docker安装教程图解
Docker在线、离线安装及其常用命令操作一、测试环境
名称 | 版本 |
---|---|
centos | 7.6 |
docker | 18.09.06 |
二、在线安装
这里采用yum源命令安装前期准备的依赖包,包括yum-utils、device-mapper-persistent-data、lvm2
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
因为官方镜像仓库网速较慢,在此设置阿里云镜像代理,以便快速下载、上传镜像。
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
接下来安装Docker-CE 社区版,通过以下命令查看docker社区版安装包列表。如下图所示各docker版本信息。
yum list docker-ce --showduplicates | sort -r
选择对应版本安装docker
sudo yum install docker-ce.x86_64
启动
sudo systemctl enable docker
sudo systemctl start docker
验证:查看版本信息命令,出现下图时表明安装成功。
docker version
三、离线安装
提供以下三种方式下载docker离线安装包
Docker官方地址:docker down
1.百度云下载地址: https://pan.baidu.com/s/1tZpsOvY0wmCfwHXlNJuq8Q 提取码: rhaq
2.有网服务器执行命令下载:wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz
3.官方参考文档:https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries
将已下载好的docker离线包拷贝到服务器,解压压缩包
tar -xvf docker-18.09.6.tgz
将解压出来的docker文件内容移动到 /usr/bin/ 目录下
cp docker/* /usr/bin/
注册编辑docker服务
vim /etc/systemd/system/docker.service
写入以下内容后保存
[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 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
添加权限后启动
chmod +x /etc/systemd/system/docker.service
重新加载配置文件
systemctl daemon-reload
启动Docker
systemctl start docker
设置开机自启
systemctl enable docker.service
验证是否安装成功
systemctl status docker
docker -v
**
四、常用命令(搜索、下载本地未有镜像需要联网)
**
搜索镜像,
#docker search 镜像名称
docker search java
下载镜像
#docker pull 镜像名称
docker pull java
查看已下载的镜像
docker images
删除镜像
删除单个镜像:docker rmi 镜像名称
删除所有镜像:docker rmi -f $(docker images)
操作容器
使用docker run命令可新建并启动一个容器,例如使用java镜像启动:docker run java /bin/echo 'Hello World'
其它启动可选附带参数:
-d 选项:表示后台运行
-P 选项:随机端口映射
-p 选项: 指定端口映射,有以下四种模式:
① ip:hostPort:containerPort
② ip::containerPort
③ hostPort:containerPort
④ containerPort
实例测试Nginx容器
docker run --name nginxTest -d -p 91:80 nginx
说明:docker 启动容器时,本地无该容器时会自动从Docker Hup下载引用
-d #后台运行
-p #宿主机端口:容器端口 #开放容器端口到宿主机端口
–name #自定义容器名称
浏览器访问http://服务器ip:91 ,如果出现Nginx主页则表示启动成功。
查看容器状态
查看正在运行容器详情 docker ps
查看所有容器详情 docker ps -a
– CONTAINER ID #容器ID
– IMAGE #镜像
– CREATED #创建时间
– STATUS #状态 Up代表正在运行,Exited 表示已停止运行
– PORTS #端口
– NAMES #容器名称
查看容器日志
格式:docker logs -f -t --tail 行数 容器名 或者 docker logs -f -t --tail 行数 容器ID
docker logs -f -t --tail 200 483a128fdb39
停止容器
docker stop 容器ID 或 docker stop 容器名称
强制停止容器
docker kill 容器ID
启动已停止的容器
docker start 容器ID
重启容器
docker restart 容器ID
进入容器
(1)使用docker attach 命令进行容器,有多窗口操作会同步显示和阻塞问题。
docker attach 容器ID
(2)使用nsenter进入容器
docker inspect --format "{{.State.Pid}}" 容器ID #查询出pid
nsenter --target 查询的pid --mount --uts --ipt --net --pid
(3) 推荐 使用docker exec 命令,该命令在1.3.x版本之后提供。
docker exec -it 容器ID /bin/bash
查看容器详情
docker inspect 容器ID
删除容器
docker rm 容器ID
#该命令不可删除正在运行的容器,要执意删除加-f 参数
打包镜像为离线包
docker save -o 文件名.tar 镜像名称
加载离线镜像包
docker load < 文件名.tar
使用Dockerfile构建Docker镜像
以上面创建的Nginx为例,创建dockerfiler文件
touch Dockerfile
编辑dockerfiler文件
vim Dockerfile
填入以下内容
FROM nginx #添加进入docker容器后的目录(可以不填) WORKDIR /opt/hello RUN echo '<h1>Hello World!</h1>' > /usr/share/nginx/html/index.html
在Dockerfile所在路径执行以下命令
docker build -t nginx:my .
启动一个docker容器
docker run -d -p 92:80 nginx:my
当然也可指定配置文件路径
docker run -d -p 92:80 -v /u01/hello/config:/opt/hello/config nginx:my
说明:-d 后台运行,-p 对外暴露端口:内部端口 -v linux文件路径:容器内路径 --name 容器昵称 启动的镜像:版本号
之后只需要在linux 下的/u01/hello/config修改配置,重启容器加载。
浏览器访问http://ip:92 ,可看到“Hello World!”信息。
以上这篇Docker在线、离线安装及其常用命令操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
- 树莓派3B+安装64位ubuntu系统和docker工具的操作步骤详解(树莓派3B+安装64位ubuntu系统和docker工具的操作步骤详解)
- docker端口访问不了(docker设置了端口映射,不能访问的解决方案)
- docker容器使用流程(在Docker构建的容器中实现安装ping工具)
- docker启动命令大全(Docker常用命令Study03详解)
- docker中的mongodb(Docker mongoDB 4.2.1 安装并收集springboot日志的步骤详解)
- 如何打开docker容器端口号(Docker容器网络端口配置过程详解)
- docker-compose 如何启动(docker compose部署主从复制的实现)
- docker如何搭建mysql(docker容器访问宿主机的MySQL操作)
- docker资源隔离的实现方式(docker配置openGauss数据库的方法详解)
- 基于docker的平台搭建(基于docker搭建selenium分布式环境)
- docker服务重启容器是否重启(docker自定义网桥docker0及docker的开启,关闭,重启命令操作)
- docker容器的标准使用过程(Docker容器的使用方法简单示例)
- springbootdocker详解(Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解)
- docker部署golang(如何使用Docker部署Go Web应用的实现)
- OpenLDAP docker使用教程(Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法)
- docker常用操作(docker常用命令汇总)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
- 他是梁山最早的头目,江湖人称 旱地忽律 ,宋江几乎将其遗忘(他是梁山最早的头目)
热门推荐
- django学生管理系统搭建(Django实现学生管理系统)
- sqlserver数据库同步复制(SqlServer将数据库中的表复制到另一个数据库)
- js简单小游戏代码(用JS实现飞机大战小游戏)
- mysql查询性能优化详解(实例讲解MySQL 慢查询)
- linux有哪些ftp服务器软件(Linux系统 改善FTP服务器的安全性)
- python数据结构全攻略(详解python数据结构和算法)
- 腾讯云主机可以挂游戏吗(云主机能挂网络游戏么?)
- mysql标签的用法(mysql 的indexof函数用法说明)
- sqlserver数据回退(SQLServer数据库处于恢复挂起状态的解决办法)
- sqlserver代理无法启动错误1607(SQL Server代理:理解SQL代理错误日志处理方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9