Docker篇2-安装配置与基础用法

Docker安装配置:

官网安装手册:https://docs.docker.com/engine/install/centos/

依赖:

64 bits CPU
Linux Kernel 3.10+
Linux Kernel cgroups and namespaces

YUM安装:

#安装基础依赖包与配置docker镜像yum源
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast

# 默认安装最新稳定版本
yum -y install docker-ce

# 安装指定版本。先查看软件源支持的Docker CE版本,再安装指定VERSION(yum list中的第二列信息为VERSION)
# yum list docker-ce.x86_64 --showduplicates | sort -r
# yum -y install docker-ce-<VERSION_STRING> [docker-ce-cli-<VERSION_STRING> containerd.io]

# 启动
systemctl start docker

# 查看版本
docker version

# 在容器中运行一个测试容器,验证 docker 是否安装成功
docker run hello-world

# 卸载Docker CE
# yum remove docker-ce
# rm -rf /var/lib/docker

配置:这里只配置了数据存放位置与镜像加速,其他的可自行设置

# 配置镜像加速。默认docker拉取镜像时不是国内的地址,可修改为国内的镜像源
vim /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io","https://docker.mirrors.ustc.edu.cn"]}

# 修改数据存放位置
vim /usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd --graph=/data/docker -H fd:// --containerd=/run/containerd/containerd.sock

# 重启docker
systemctl daemon-reload
systemctl restart docker

Docker基础用法:

命令格式:

格式:
docker [组件/对象] COMMAND [ARG...]    ##新写法
docker COMMAND [ARG...]

如:
docker image pull busybox
docker pull busybox

docker container run -it --name b1 busybox
docker run -it --name b1 busybox 

创建并运行第一个容器:busybox

# 查看Dockhub仓库上可供安装的镜像
docker search busybox

# 从Docker仓库中拉取镜像(执行run时若镜像不存在,也会先自动下载)
docker image pull busybox

# 查看镜像
docker image ls

# 创建并启动容器
## --name:容器名称定义为bb1
## /bin/sh:启动容器时并运行/bin/sh命令,它会作为容器的第一个进程运行在前台,进程PID为1;Docker判断一个容器是否处于running状态,是通过检查一个容器内是否存在一个PID为1的进程正常运行在前台;
## -it:表示以交互模式进入到容器,此时容器处于running状态,若输入exit退出终端后,容器处于stopped状态;
docker container run --name bb1 -it busybox /bin/sh

# 查看容器
## -a: 列出所有容器,包括处于未运行状态的容器
docker container ls -a
docker ps -a

# 停掉与启动容器
docker container stop bb1
docker container start bb1

# 进入容器
docker exec -it bb1 /bin/sh
# 当指定了shell终端作为容器的第一个进程运行在前台时,且容器要处于running状态,这时可用attach直接进入
docker attach bb1

# 在容器外执行命令
docker exec bb1 touch "/root/file1" "/root/file2"
docker exec bb1 rm "/root/file2"

# 杀死正在运行的容器
docker container kill bb1

# 删除镜像(停掉容器 --> 删除容器 --> 删除镜像)
docker container stop bb1
docker container rm bb1
docker image rmi busybox

# 容器运行结束后自动删除容器
## --rm: 当输入exit退出容器时,同时会自动删除容器
docker run --name bb2 -it --rm busybox

创建并运行一个服务容器:nginx

# 创建并运行容器
### -d:后台启动
### 启动后容器已经处于running状态,因为该镜像已预先设置好将nginx程序作为容器中的第一个进程运行在前台(不同于busybox镜像)
### 所以启动容器时无需再指定运行其他命令;服务容器启动后,可再通过docker exec指定一个shell进入到容器
docker run --name web1 -d nginx:1.17-alpine
docker ps

# 查看web1容器ip
docker container inspect web1 | grep IPAddress

# 宿主机上测试访问nginx
curl 172.17.0.2

# 查看容器日志(即nginx访问日志)
docker container logs web1

# 进入容器
### exec -it:以交互模式进入到一个处于running状态的容器shell终端
docker container exec -it web1 /bin/sh

创建并运行一个服务容器:redis

# 下载镜像
docker image pull redis:5.0.5-alpine

# 创建容器(但不启动)
docker container create --name kv1 redis:5.0.5-alpine

# 手动启动容器
docker container start kv1

# 进入容器
docker container exec -it kv1 /bin/sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值