linux虚拟机下docker容器的安装和使用(docker镜像开机自启)

linux虚拟机下docker容器的安装和使用(docker镜像开机自启)

一.Linux下搭建docker容器

1、安装环境
此处在Centos7进行安装,可以使用以下命令查看CentOS版本

lsb_release -a

linux虚拟机下docker容器的安装和使用(docker镜像开机自启)_第1张图片
在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看

uname -r

在这里插入图片描述
2、用yum源安装
2.1 查看是否已安装docker列表

yum list installed | grep docker

在这里插入图片描述
2.2 安装docker

yum -y install docker

-y表示不询问安装,直到安装成功,安装完后再次查看安装列表
在这里插入图片描述
2.3 启动docker

systemctl start docker

2.4 查看docker服务状态

systemctl status docker

linux虚拟机下docker容器的安装和使用(docker镜像开机自启)_第2张图片
以上说明docker安装成功

3、离线安装模式

3.1 安装包官方地址:

https://download.docker.com/linux/static/stable/x86_64/

可以先下载到本地,然后通过ftp工具上传到服务器上,或者在服务器上使用命令下载

wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz

3.2 解压

tar -zxvf docker-18.06.3-ce.tgz

3.3 将解压出来的docker文件复制到 /usr/bin/ 目录下

cp docker/* /usr/bin/

3.4 在/etc/systemd/system/目录下新增docker.service文件,内容如下,这样可以将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 --selinux-enabled=false --insecure-registry=127.0.0.1
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

此处的–insecure-registry=127.0.0.1(此处改成你私服ip)设置是针对有搭建了自己私服Harbor时允许docker进行不安全的访问,否则访问将会被拒绝。

3.5 启动docker

给docker.service文件添加执行权限

chmod +x /etc/systemd/system/docker.service 

重新加载配置文件(每次有修改docker.service文件时都要重新加载下)

systemctl daemon-reload        

启动

systemctl start docker

设置开机启动

systemctl enable docker.service

查看docker服务状态

systemctl status docker

linux虚拟机下docker容器的安装和使用(docker镜像开机自启)_第3张图片
上图表示docker已安装成功

二.linux下docker启动容器,查看容器、进程、日志等命令

运行容器:docker run -it 镜像名 /bin/bash

退出容器:exit 或者 Ctrl+P+Q

查看所有容器:docker ps -a

查看运行的容器:docker ps

重启容器:docker restart 容器ID

重启容器后进入交互式:docker start -i 5c6ce895b979

进入容器:docker attach 容器ID

docker exec -it 容器ID /bin/bash

$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID
$ docker ps -a // 查看所有容器 $ docker ps -a -q // 查看所有容器ID
$ docker stop $(docker ps -a -q) // stop停止所有容器
$ docker rm $(docker ps -a -q) // remove删除所有容器

博客园首页新随笔联系管理订阅订阅随笔- 153 文章- 11 评论- 2
docker 命令 查看启动进程及日志

一 docker ps
查看正在运行的docker容器有哪些。

二 docker ps -a
查看所有docker容器,包括不在running状态的。

三 docker logs 参数 容器id
查看具体某一个容器的日志。

其中参数可选择的有:

-f follow 表示实时显示日志

-t timestamp 表示显示时间戳

–tail=n 或 --tail n 表示显示末尾n行

例如:docker logs -f --tail=200 xxxx,表示实时加载日志信息,并且仅显示最后200行。

四 docker logs 参数 容器id | grep str
查找日志文件中含有特定字符串的行

五 docker logs 参数 容器id | grep str >> out.txt
查找日志文件中含有特定字符串的行,并且输出到指定文件out.txt中。

六 根据时间查看log
–since 从指定时间点到最新的日志

–until 指定结束时间点

docker logs --since 2020-04-10T19:50:00 container

docker logs --since 2020-04-10T19:30:00 --until 2020-04-10T20:05:00 contailer

linux下的docker操作命令及异常

三.如何将docker容器配置成开机自启动

docker 服务器开机自启动:

1.systemctl is-enabled docker.service 检查服务是否开机启动

2.systemctl enable docker.service 将服务配置成开机启动

3.systemctl start docker.service 启动服务

systemctl 相关其他命令:

systemctl disable docker.service 禁止开机启动

systemctl stop docker.service 停止
systemctl restart docker.service 重启

容器开机启动:

创建容器时候指定restart参数:

docker run -it -p 6379:6379 --restart=always --name redis -d redis

对已经创建的容器用docker update 更新:

docker update --restart=always xxx

–restart具体参数值详细信息 :

no - 容器退出时,不重启容器
on-failure - 只有在非0状态退出时才从新启动容器
always - 无论退出状态是如何,都重启容器

四.设置linux主机开机时,docker里面的镜像自动启动

在本地项目中,用到了linux虚拟机docker中的MySQL,Rabbitmq,因为不想让linux虚拟机自动开启,又觉得开机后启动linux,又要进去手动运行MySQL镜像,有些麻烦。

有种方式可以解决这个麻烦:

docker update --restart=always “镜像id或容器别名”

这样linux开机之后,docker就会自动运行你设置的镜像,也不用我登入linux手动开启了

关闭自动开启:

docker update --restart=no “镜像id或镜像别名”

你可能感兴趣的:(docker,linux)