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在线、离线安装及其常用命令操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • docker文件存放路径, 获取容器启动命令操作

    容器早已创建好,如何得知它的启动参数(数据挂载到哪) #假设通过如下命令启动了一个容器 docker run -d --name mysql\ -p 3306:3306\ -e MYSQL_ROOT_PASSWORD=123456\ --restart=always\ mysql:5.5 --character-set-server=utf8 #如何通过容器名得知启动参数 [root@jenkins ~]# docker inspect mysql_cdh [ { "Id": &quo

  • 查看docker镜像中文件的方法

    怎么查看docker镜像中的文件 一.如果是已运行的 对于已经运行的镜像,我们可以通过其ContrainerID来查看 docker attach ContainerID 这种方式,需要对应的container是运行中的,不处于stop状态 二.如果未运行 对于未运行的,可以把Docker镜像中的文件复制到宿主来看,命令示意如下: docker cp <容器名称>:<路径> <主机路径> 如: sudo docker cp nginx-ubuntu-container:

  • Docker镜像管理常用操作代码示例

    镜像也是docker的核心组件之一,镜像时容器运行的基础,容器是镜像运行后的形态.总体来说,镜像是一个包含程序运行必要以来环境和代码的只读文件,它采用分层的文件系统,将每一层的改变以读写层的形式增加到原来的只读文件上. 镜像与容器的关系 前文已经向读者介绍过容器的使用了,细心的读者可能已经发现,容器在启动或者创建时,必须指定一个镜像的名称或者id,其实,这时镜像所扮演的角色就是容器的模版,不同的镜像可以构造出不同的容器.如下命令: docker run -itd --name nginx ngi

  • 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-re

  • Linux 常用命令操作大全(推荐收藏)

    1.系统信息 命令 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/memin

  • Linux文件处理常用命令操作技巧

    我是Linux初学者,做个笔记,以下是Linux几个常用文件处理命令: 命令提示符 [root@localhost~]# 其中: root                          表示当前登录用户 localhost 表示主机名 ~ 表示当前所在目录(家目录) # 表示超级用户名的提示符 普通用户的提示符是$ 查询目中内容:ls ls [选项] [文件或目录] 选项有: -a 显示所有文件,包括隐藏文件 -l   显示详细信息 -d 查看目录属性 -h 人性化显示文件大小 -i 显示i

  • MongoDB入门教程(包含安装、常用命令、相关概念、使用技巧、常见操作等)

    一.安装和配置   MongoDB 的官方下载站是 http://www.mongodb.org/downloads,可以去上面下载最新的安装程序   Windows 平台的安装   ● 步骤一: 下载 MongoDB     点击上方官方下载地址, 并下载 Windows 版本 ● 步骤二: 设置 MongoDB 程序存放目录     下载完成后, 解压到自定义文件夹,例: D:\mongodb\ ● 步骤三: 设置数据文件存放目录     在 D:\mongodb\ 目录下创建 db 和 l

  • Redis总结笔记(一):安装和常用命令

    一.redis简单介绍 redis是NoSql家族的一员,键值对的内存型数据库.但是它支持把数据保存到本地.这点比memcached好. 缺点: 没有本地数据缓冲, 目前还没有完整的数据聚集化支持 优点: 配置简单, 使用方便, 高性能,支持不同的数据类型(hashes, lists, sets, sorted sets) ASP.NET WebUI for viewing content of the cache 二.安装 windows版本非官方版本.但是是"微软的团队维护的"这个

  • rman配置及rman常用命令操作

    一.rman相关配置 1.进入rman:CMD下rman target/2.查看是否处于归档模式:SQL>archive log list;(rman需运行在归档模式下)3.开启归档模式: 复制代码 代码如下: SQL>shutdown immediate;SQL>startup mount;SQL>alter database archivelog;(关闭归档模式:alter database noarchivelog;)SQL>alter database open;SQ

  • 查看postgresql系统信息的常用命令操作

    1.查看当前数据库实例版本. postgres=# select version(); version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.3.0 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Ha

  • PostgreSQL 修改表字段常用命令操作

    --数据库.模式.表名 "identities"."Test"."tab_test" --修改字段名 ALTER TABLE "identities"."Test"."tab_test" RENAME "u_name" to realname ; --添加字段 ALTER TABLE "identities"."Test".&q

  • Linux服务器离线安装 nginx的详细步骤

    目录 Linux服务器 离线安装 nginx 1.资源 2.安装步骤 常用命令 操作 启动nginx 停止nginx 重启nginx 查看端口占用 Linux服务器 离线安装 nginx 1.资源 nginx-1.20.1.tar.gz(下载链接中包含gcc.g++.pcre.libtool.nginx) 百度网盘下载: 链接: https://pan.baidu.com/s/1avQD-zGYVcj0ttRtnPNTIA 提取码: 6yhi 2.安装步骤 (1)安装gcc rpm -Uvh *

  • Docker 常用命令整理并介绍

    什么是Docker? Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal.OpenStack 集群和其他的基础应用平台. Docker通常用于如下场景: web应用的自动化打包和发布: 自动化测试和持续集成.发布: 在服务型环境中部署和调整数据库或其他的后台应用: 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的P

随机推荐