Docker常用命令

Forrest Tse 12/01/202118:03:24评论221 阅读1阅读模式

Linux权限说明

执行Linux命令时,有时需要系统管理员权限,如果是root用户登录,那么已经具备管理员权限;如果非root用户登录,普通用户需要通过命令前加sudo来提高执行权限,前提是要通过sudo的配置文件/etc/sudoers来进行授权。sudo调用一次后就失去了root的权限,所以要使用root用户权限,必须每次都要加上sudo。

一、安装docker

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

5、设置国内yum源

$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

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

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

7、安装docker,安装社区版本Docker软件

$ sudo yum install docker-ce docker-ce-cli containerd.io -y

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

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

$ docker version

10、加速镜像配置

$ sudo vim /etc/docker/daemon.json { "registry-mirrors": ["https://jtxxvgoj.mirror.aliyuncs.com"] }

11、镜像加速修改后重启服务

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

12、查看docker服务信息

$ sudo docker info

常规使用

查看本地已有镜像

$ sudo docker images

镜像仓库中镜像查询,例如查询nginx

$ sudo docker search nginx
查询不方便也可到官网查询https://hub.docker.com/

拉取镜像到本地,例如nginx

$ sudo docker pull nginx
默认情况下拉取最新镜像,也可拉取指定版本,例如:
$ sudo docker pull nginx:alpine

创建并运行一个docker容器(只创建不运行,run改为create)

$ sudo docker run -itd --name nginx_test --net=host \
-p 8081:8081 -m 4096M \
-v /opt/host/nginx/html:/usr/share/nginx/html \
-v /opt/host/nginx/logs:/var/log/nginx \
-v /opt/host/nginx/nginx.conf:/etc/nginx/nginx.conf nginx
部分参数说明:

  • --name 指定容器名称,该名称方便对容器识别和操作
  • --net=host 一般不常用,表示容器使用宿主机器的网络
  • -m 4096M 当需要限制容器使用内存大小时使用
  • -v 存储或文件映射,冒号前的是宿主机目录,后面的是容器内部目录,一般用来存储需要保存的数据或读取外部配置文件
  • 上面命令中的的反斜杠\是多行linux命令的拼接符号

查看已经启动的容器

$ sudo docker ps

查看镜像清单,包含启动的和未启动的

$ sudo docker ps -a

查看容器状态(可查看容器id、容器名称、CPU、内存)

$ docker stats 查看不是特别方便,可考虑使用ctop命令(下载并配置权限):
$ sudo wget https://github.com/bcicen/ctop/releases/download/0.7.6/ctop-0.7.6-linux-amd64 -O ctop
$ sudo mv ctop /usr/local/bin/
$ sudo chmod +x /usr/local/bin/ctop
$ ctop

进入容器(进入容器后可执行基本的linux命令)

$ sudo docker exec -it nginx_test bash

停止容器

$ sudo docker stop 容器id(容器名称)
$ sudo docker stop nginx_test

启动镜像

$ sudo docker start 容器id(容器名称)

查看容器启动日志,常用来查看启动异常情况

$ sudo docker logs 容器id(容器名称)

重启启动镜像

$ sudo docker restart 容器id(容器名称)

查看容器信息,例如端口,环境变量,网络,磁盘挂载等

$ sudo docker inspect 容器id(容器名称)

删除容器

$ sudo docker rm 容器id(容器名称)

删除本地镜像(删除前提是无容器依赖)

$ sudo docker rmi 镜像id(镜像名称)

容器开机自启动,之前创建容器时未配置可以通过更新命令进行调整

docker update --restart=always 容器id(容器名称)
同时此命令也可以改修改一些其他配置参数,例如内存限制

宿主机与容器间的数据拷贝

数据由宿主机拷贝到容器:
$ sudo docker cp 宿主机路径 容器id(容器名):容器路径
数据由容器拷贝到宿主机:
$ sudo docker cp 容器id(容器名):容器路径 宿主机路径

在使用docker时,经常需要在命令前加sudo,可以通过将普通用户加入docker用户组解决

$ sudo usermod -aG docker zhangsan
添加后需要重启docker服务,可能还需要用户退出ssh重新登录。
注意docker服务重启时,当前运行中的容器会关闭,设置了自动重启的容器会自动重启,没设置的容器关闭后不会重启。
$ sudo service docker restart

windows环境下安装docker desktop(可以用于练习)

https://www.docker.com/products/docker-desktop

Forrest Tse
  • 本文由 发表于 12/01/202118:03:24
  • 转载请务必保留本文链接:https://www.ieei.top/114.html
SSL证书生成脚本

SSL证书生成脚本

执行certificate-gen.sh脚本后生成的文件(执行前确保环境支持keytool和openssl命令) .p12是keystore文件,cer是证书文件,证书和仓库的默认密码都是123456...
Linux系统信息查看命令

Linux系统信息查看命令

arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 cat /etc/issue 查看操作系统类型 dmidecode -q 显示硬件系统...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定