docker基础用法
docker命令
docker安装
环境:centos 7
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# curl -o docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo docker-ce.repo
[root@localhost yum.repos.d]# yum -y install docker-ce
docker加速
[root@localhost yum.repos.d]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://iw9aift9.mirror.aliyuncs.com"]
}
[root@localhost yum.repos.d]# docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Build with BuildKit (Docker Inc., v0.6.3-docker)
scan: Docker Scan (Docker Inc., v0.9.0)
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.11
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc version: v1.0.2-0-g52b36a2
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-862.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.779GiB
Name: localhost.localdomain
ID: PAWN:IJR3:EL74:DGYU:MCIF:CUZ2:4ZWS:OB5A:FTNB:SV5H:LDUI:KJCY
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://iw9aift9.mirror.aliyuncs.com/ 重启后会出现加速器
Live Restore Enabled: false
//用centos镜像来创建一个叫mkf的容器
[root@localhost ~]# docker create --name mkf centos
46be14dc5670abe1c91c5dd4550ca510a7abe3ebf24600dfb66b43540bfe40ca
//使用centos镜像启动一个名为mkf1的容器并分配一个bash shell的终端进入容器
[root@localhost ~]# docker run --name mkf1 -it centos /bin/bash
[root@447b46458c80 /]# exit
exit
//使用centos镜像启动一个名为mkf2的容器并在后台运行
[root@localhost ~]# docker run --name mkf2 -d centos
87bf2446df936bd8f9749dd25a2ac753fb8a920681afd736a31852951885c82e
//使用centos镜像启动一个名为mkf3的容器,该容器在后台运行,访问宿主机的8080端口可以访问到容器的80端口
[root@localhost ~]# docker run --name mkf3 -d -p 8080:80 centos
584abb7381ed57f84f2b6843258ad73982cb2364e7fe44a1c27ab7dd10f937c8
// -a 查看所有容器
[root@localhost ~]# docker ps -a
// 启动一个或多个停止的容器
[root@localhost ~]# docker start 容器ID
// 重新启动容器
[root@localhost ~]# docker stop 容器ID
// 杀死一个或多个正在运行的容器
[root@localhost ~]# docker kill 容器ID、
// 在新容器中运行命令
[root@localhost ~]# docker run -it busybox /bin/sh
// 获取容器的日志
[root@localhost ~]# docker logs 容器ID
// 卸下一个或多个容器
[root@localhost ~]# docker rm -f 容器ID
[root@localhost ~]# docker rm $(docker ps -aq) //取出容器ID然后删除没有运行的容器
// 在正在运行的容器中运行命令(exec必须用交互模式进入容器,用exit退出后,容器依然会运行)
[root@localhost ~]# docker exec -it 容器ID /bin/bash