Docker容器

在Linux下安装docker环境

本文主要是介绍在Linux下安装docker环境,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

http://img1.sycdn.imooc.com/5ece3f7e00012d5514401080.jpg

Docker官网:https://www.docker.com/

Docker安装文档:https://docs.docker.com/engine/install/centos/

安装步骤:

1. 检查操作系统环境

Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker

http://img1.sycdn.imooc.com/5ece3b81000106fa03460072.jpg

2. 卸载旧版本Docker

较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。命令:

$ sudo yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-engine

如果yum报告未安装这些软件包,则可以。

原先使用docker/docker-engine安装的内容都在/var/lib/docker/下,包括images, containers, volumes, and networks,都会被保留的。

现在将Docker Engine软件包称为docker-ce。

3. 更新yum包

$ sudo yum update

http://img4.sycdn.imooc.com/5ece3be80001bcf605540089.jpg

4. 搭建Docker CE的REPOSITORY

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

http://img1.sycdn.imooc.com/5ece3d300001f9ed05540116.jpg

5. 设置yum源:

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

http://img4.sycdn.imooc.com/5ece3d420001abc105540054.jpg

6. 安装 DOCKER CE: 

$ yum install docker-ce

http://img2.sycdn.imooc.com/5ece3d530001d73305540129.jpg

7. 可以查看所有仓库中所有docker版本,并选择特定版本安装:

$ yum list docker-ce --showduplicates | sort -r

http://img4.sycdn.imooc.com/5ece3d6800012cff03660381.jpg

8. 选择其中的一个版本安装docker:  

$ sudo yum install docker-ce-18.06.3.ce

http://img1.sycdn.imooc.com/5ece3d9d00011a3305540056.jpg

9. 启动、设置开启开机启动

$ sudo systemctl start docker

$ sudo systemctl enable docker

10. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了):   

$ docker version

http://img3.sycdn.imooc.com/5ece3dba0001815105540349.jpg

11. 查看docker启动状态:

$ systemctl status docker

http://img1.sycdn.imooc.com/5ece3dd60001cad105540172.jpg

至此,docker就安装成功了!

 

参考:https://blog.csdn.net/guanheng68/article/details/81710155

https://www.cnblogs.com/aimei/p/12192804.html

 

 

docker相关的命令: 

参考:https://www.cnblogs.com/DeepInThought/p/10896790.html

##查看docker容器版本

 docker version

 

##查看docker容器信息

 docker info

 

##查看docker容器帮助

 docker –help

 

##列出本地images

 docker images

 

##含中间映像层

 docker images -a

 

##只显示镜像ID

 docker images -q

 

##含中间映像层

 docker images -qa

 

##显示镜像摘要信息(DIGEST列)

 docker images --digests

 

##显示镜像完整信息

 docker images --no-trunc

 

##显示指定镜像的历史创建;参数:-H 镜像大小和日期,默认为true;--no-trunc 显示完整的提交记录;-q 仅列出提交记录ID

 docker history -H redis

 

##搜索仓库MySQL镜像

docker search mysql

 

## --filter=stars=600:只显示 starts>=600 的镜像

docker search --filter=stars=600 mysql

 

## --no-trunc 显示镜像完整 DESCRIPTION 描述

docker search --no-trunc mysql

## --automated :只列出 AUTOMATED=OK 的镜像

docker search  --automated mysql

 

##下载Redis官方最新镜像,相当于:docker pull redis:latest

 docker pull redis

 

##下载仓库所有Redis镜像

 docker pull -a redis

 

##下载私人仓库镜像

 docker pull bitnami/redis

 

##单个镜像删除,相当于:docker rmi redis:latest

 docker rmi redis

docker rmi 镜像ID

 

##强制删除(针对基于镜像有运行的容器进程)

 docker rmi -f redis

 

##多个镜像删除,不同镜像间以空格间隔

 docker rmi -f redis tomcat nginx

 

##删除本地全部镜像

 docker rmi -f $(docker images -q)

 

##(1)编写dockerfile

 cd /docker/dockerfile vim mycentos

 

##(2)构建docker镜像

 docker build -f /docker/dockerfile/mycentos -t mycentos:1.1

 

##新建并启动容器,参数:-i 以交互模式运行容器;

-t 为容器重新分配一个伪输入终端;

--name 为容器指定一个名称

 docker run -i -t --name mycentos

 

##后台启动容器,参数:-d 已守护方式启动容器

 docker run -d mycentos

注意:此时使用"docker ps -a"会发现容器已经退出。这是docker的机制:要使Docker容器后台运行,就必须有一个前台进程。解决方案:将你要运行的程序以前台进程的形式运行。

##启动一个或多个已经被停止的容器

 docker start redis

 

##重启容器

 docker restart redis

docker restart 容器ID 


##top支持 ps 命令参数,

格式:docker top [OPTIONS] CONTAINER [ps OPTIONS]

##列出redis容器中运行进程

 docker top redis #

 

#查看所有运行容器的进程信息

 for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done

 

##查看redis容器日志,默认参数

 docker logs rabbitmq

 

##查看redis容器日志,参数:

-f 跟踪日志输出;

-t 显示时间戳;

--tail 仅列出最新N条容器日志;

 docker logs -f -t --tail=20 redis

 

##查看容器redis从2019年05月21日后的最新10条日志。

 docker logs --since="2019-05-21" --tail=10 redis

 

##使用run方式在创建时进入

 docker run -it centos /bin/bash

 

##关闭容器并退出

exit

 

##直接进入centos 容器启动命令的终端,不会启动新进程,多个attach连接共享容器屏幕,参数:--sig-proxy=false 确保CTRL-D或CTRL-C不会关闭容器

 docker attach --sig-proxy=false centos

 

##在 centos 容器中打开新的交互模式终端,可以启动新进程,参数:

-i 即使没有附加也保持STDIN 打开;

-t 分配一个伪终端

docker exec -i -t centos /bin/bash

 

##以交互模式在容器中执行命令,结果返回到当前终端屏幕

docker exec -i -t centos ls -l /tmp

 

##以分离模式在容器中执行命令,程序后台运行,结果不会反馈到当前终端 docker exec -d centos touch cache.txt

 

##查看正在运行的容器

 docker ps

 

##查看正在运行的容器的ID

 docker ps -q

 

##查看正在运行+历史运行过的容器

 docker ps -a

 

##显示运行容器总文件大小

 docker ps -s

 

##显示最近创建容器

 docker ps -l

 

##显示最近创建的3个容器

 docker ps -n 3

 

##不截断输出

 docker ps --no-trunc

 

##获取镜像redis的元信息

 docker inspect redis

 

##获取正在运行的容器redis的 IP

 docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis

 

##停止一个运行中的容器

 docker stop redis

 

##杀掉一个运行中的容器

 docker kill redis

 

##删除一个已停止的容器

 docker rm redis

docker rm 容器ID

 

##删除一个运行中的容器

 docker rm -f redis

 

##删除多个容器

 docker rm -f $(docker ps -a -q) docker ps -a -q | xargs docker rm

 

## -l 移除容器间的网络连接,连接名为 db

 docker rm -l db

 

## -v 删除容器,并删除容器挂载的数据卷

 docker rm -v redis

 

 

##基于当前redis容器创建一个新的镜像;参数:

-a 提交的镜像作者;

-c 使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停

 docker commit -a="DeepInThought" -m="my redis" [redis容器ID] myredis:v1.1

 

##将rabbitmq容器中的文件copy至本地路径

 docker cp rabbitmq:/[container_path] [local_path]

 

##将主机文件copy至rabbitmq容器

 docker cp [local_path] rabbitmq:/[container_path]/

 

##将主机文件copy至rabbitmq容器,目录重命名为[container_path](注意与非重命名copy的区别)

 docker cp [local_path] rabbitmq:/[container_path]


更多关于docker的知识请自行学习,因为我也在学习中!喜欢的话,请点个赞,感谢支持!

这篇关于在Linux下安装docker环境的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!