Docker常用命令

Docker常用指令

安装docker

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

$ uname -r
3.10.0-1062.18.1.el7.x86_64

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、设置docker源

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

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

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

7、安装docker

$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版20.10.7
$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-20.10.7.ce
$ sudo dnf install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版20.10.7
$ sudo dnf install <FQPN>  # 例如:sudo yum install docker-ce-20.10.7.ce

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@qdc ~]# 

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

$ docker version
Client: Docker Engine - Community
 Version:           20.10.7
 API version:       1.41
  ...

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  ...

如果server无法连接出现以下错误

[liran@fedora PycharmProjects]$ docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:54:44 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

执行systemctl restart docker

配置不用加sudo

如果还没有 docker group 就添加一个:
sudo groupadd docker

将用户加入该 group 内。然后退出并重新登录就生效啦。
sudo gpasswd -a ${USER} docker

重启 docker 服务
sudo service docker restart

切换当前会话到新 group 或者重启 X 会话
newgrp - docker

快速安装

1、查找
$ docker search name
2、拉取
$ docker pull name

镜像操作

1.镜像列表
# 查看所有的镜像
$ sudo docker image ls
$ docker images
2.从仓库拉取镜像
# 官方镜像
$ sudo docker image pull 镜像名称 
# 例 
$ sudo docker image pull ubuntu 
$ sudo docker image pull ubuntu:16.04  #:后面可以指定拉取的版本,若不指定则为最新版本

# 个人镜像
$ sudo docker image pull 仓库名称/镜像名称
$ sudo docker image pull itcast/fastdfs
3.删除镜像
$ sudo docker image rm 镜像名或镜像ID

容器操作

1.容器列表
# 查看正在运行的容器
$ sudo docker container ls 
$ sudo docker container ps
$ sudo docker ps  #推荐使用,比较简洁

# 查看所有的容器
$ sudo docker container ls --a
$ sudo docker container ps --a
$ sudo docker ps --a  #推荐
2.创建容器
$ sudo docker run [option] 镜像名 [向启动容器中传入的命令]

常用可选参数说明:

  • -i 表示以《交互模式》运行容器。
  • -t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
  • –name 为创建的容器命名。
  • -v 表示目录映射关系,即宿主机目录:容器中目录。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
  • -d 会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)。
  • -p 表示端口映射,即宿主机端口:容器中端口。
  • -P 随机指定端口
  • –network=host 表示将主机的网络环境映射到容器中,使容器的网络与主机相同。
3.停止和启动容器
# 停止容器
$ sudo docker container stop 容器名或容器id
# kill掉容器
$ sudo docker container kill 容器名或容器id
# 启动容器
$ sudo docker container start 容器名或容器id
4.退出容器

exit #直接退出容器
Ctrl + P + Q

5.删除容器
$ sudo docker container rm 容器名或容器id
查看日志
$ docker logs -f -t --tail 10  #容器id  没有日志 
#显示日志-tf           
#显示日志 t带上时间 f保持打印窗口 --tail number 
#要显示的日志条数
$ docker logs -tf --tail 10 d5d5d925582f

进入当前正在运行的容器

#我们通常容器都是使用后台方式运行的需要进入容器,修改一些配置
命令: docker exec -it 容器id bashshell 

[root@qdc ~]$ docker exec -it 0ce3e100753a /bin/bash
[root@0ce3e100753a /]$ ls
bin  etc   lib	  lost+found  media  opt   root  sbin  sys  usr
dev  home  lib64  lr.py       mnt    proc  run	 srv   tmp  var
#方式二
[root@qdc ~]$ docker attach  容器id
正在执行当前代码...

#docker exec  :进入容器后开启一个新的终端,可以在里面操作(常用)#docker attach :进入容器正在执行的终端,不会启动一个新的进程
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的的主机路径

[root@qdc ~]$ docker cp 容器id:/容器路径 /主机路径

//先在容器内创建文件或目录
[root@0ce3e100753a /]# touch lr.py
[root@0ce3e100753a /]# ls
bin  etc   lib	  lost+found  media  opt   root  sbin  sys  usr
dev  home  lib64  lr.py       mnt    proc  run	 srv   tmp  var

Ctrl+p+q

[root@0ce3e100753a /]$ 
[root@qdc ~]$ docker cp 0ce3e100753a:/lr.py /home/
[root@qdc home]$ ls
lr.py  redis  www
#拷贝是一个手动过程未来使用 -v 数据卷的技术,可以实现数据同步
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值