Docker基础命令
查看docker版本信息
[root@localhost tmp]# docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:27:04 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:25:42 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
显示docker系统的详细信息
[root@localhost tmp]# docker info
Client:
Debug Mode: false
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 1
Server Version: 19.03.8
Storage Driver: overlay2
Backing Filesystem: <unknown>
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
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: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-693.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.781GiB
Name: localhost.localdomain
ID: WHCN:A33V:DK7K:YQAZ:M56R:H5XS:4PMP:EAFZ:F4HS:OO7J:QWIC:HCQD
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://o0lhkgnw.mirror.aliyuncs.com/
Live Restore Enabled: false
对镜像操作的命令
下载镜像
docker pull 镜像名称
查看已下载镜像的列表
[root@localhost tmp]# docker images nginx
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ed21b7a8aee9 8 days ago 127MB
获取镜像信息
docker inspect 镜像名称
更改镜像标签
[root@localhost tmp]# docker tag nginx:latest nginx:web
[root@localhost tmp]# docker images nginx
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ed21b7a8aee9 8 days ago 127MB
nginx web ed21b7a8aee9 8 days ago 127MB
[root@localhost tmp]# docker rmi nginx:latest
Untagged: nginx:latest
[root@localhost tmp]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx web ed21b7a8aee9 8 days ago 127MB
[root@localhost tmp]# cd /opt/
[root@localhost opt]# docker save -o nginx nginx:web
[root@localhost opt]# ls
containerd nginx rh
镜像迁移
[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost opt]# scp nginx [email protected]:/opt/
The authenticity of host '192.168.179.162 (192.168.179.162)' can't be established.
ECDSA key fingerprint is SHA256:T72FXVjgR7O+HATccWdbFCHJEI5QLIk0InFktmh+MBM.
ECDSA key fingerprint is MD5:7d:6c:48:c9:b4:28:c9:96:17:22:bc:e8:8d:c1:4c:b2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.179.162' (ECDSA) to the list of known hosts.
[email protected]'s password:
nginx 100% 125MB 118.9MB/s 00:01
[root@localhost opt]# ls
containerd nginx rh
载入镜像
docker load < 镜像名称
[root@localhost opt]# docker load < nginx
c3a984abe8a8: Loading layer [==================================================>] 72.48MB/72.48MB
99134ec7f247: Loading layer [==================================================>] 58.11MB/58.11MB
d37eecb5b769: Loading layer [==================================================>] 3.584kB/3.584kB
Loaded image: nginx:web
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx web ed21b7a8aee9 8 days ago 127MB
对容器的操作
创建容器
[root@localhost opt]# docker create -it nginx:web /bin/bash -i表示输入,-t指定终端
04a95133d2f884aa868adfafbd24559439006ed849d92d4917f404dba8432029
查看容器状态
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
04a95133d2f8 nginx:web "/bin/bash" 3 seconds ago Created
启动容器
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
04a95133d2f8 nginx:web "/bin/bash" 3 minutes ago Up 3 seconds 80/tcp serene_hopper
创建另一个容器
搜索一个叫centos7的镜像
[root@localhost opt]# docker search centos7
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ansible/centos7-ansible Ansible on Centos7 128 [OK]
paigeeworld/centos7 Centos7 with apache, iperf3, nmap, ssh 5
下载镜像
[root@localhost opt]# docker pull paigeeworld/centos7
创建容器
[root@localhost opt]# docker create -it paigeeworld/centos7 /bin/bash
edd93755b865ce42e2481a93a15fa477265893065db2107043a4ddbede17f311
查看容器状态
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edd93755b865 paigeeworld/centos7 "/bin/bash" 8 seconds ago Created friendly_bhaskara
04a95133d2f8 nginx:web "/bin/bash" 24 minutes ago Up 20 minutes 80/tcp
启动容器并查看状态
[root@localhost opt]# docker start edd93755b865
edd93755b865
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edd93755b865 paigeeworld/centos7 "/bin/bash" 26 seconds ago Up 1 second friendly_bhaskara
04a95133d2f8 nginx:web "/bin/bash" 24 minutes ago Up 21 minutes 80/tcp
容器的基本命令操作
容器的命令操作
[root@localhost opt]# docker run paigeeworld/centos7 /usr/bin/bash -c ls /
bin
boot
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
查看容器状态
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96cb340ffb70 paigeeworld/centos7 "/usr/bin/bash -c ls…" 30 seconds ago Exited (0) 29 seconds ago sad_solomon
edd93755b865 paigeeworld/centos7 "/bin/bash" 2 minutes ago Up 2 minutes friendly_bhaskara
04a95133d2f8 nginx:web "/bin/bash" 27 minutes ago Up 23 minutes 80/tcp serene_hopper
run:搜索镜像,下载该镜像,创建该镜像的容器,启动该镜像,使用了ls命令之后
又停止了该容器
如果docker中没有一个镜像如paigeeworld/centos7
使用docker run paigeeworld/centos7 /usr/bin/bash -c ls /
会完成:搜索镜像,下载该镜像,创建该镜像的容器,启该容器,使用了ls命令之后
又停止了该容器
进入容器
[root@localhost opt]# docker exec -it edd93755b865 /bin/bash
bash-4.2#
使用exit退出容器时,容器不会停止
[root@localhost opt]# docker exec -it edd93755b865 /bin/bash
bash-4.2# exit
exit
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96cb340ffb70 paigeeworld/centos7 "/usr/bin/bash -c ls…" 25 minutes ago Exited (0) 25 minutes ago sad_solomon
edd93755b865 paigeeworld/centos7 "/bin/bash" 27 minutes ago Up 27 minutes friendly_bhaskara
关闭容器
[root@localhost opt]# docker stop edd93755b865
edd93755b865
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96cb340ffb70 paigeeworld/centos7 "/usr/bin/bash -c ls…" 26 minutes ago Exited (0) 26 minutes ago sad_solomon
edd93755b865 paigeeworld/centos7 "/bin/bash" 28 minutes ago Exited (137) 4 seconds ago friendly_bhaskara
持续在后台运行容器
[root@localhost opt]# docker run -d paigeeworld/centos7 /bin/bash -c "while true;do echo hello;done"
fe323d2b4b765caf9899e2b6fed30969f563850b9742b420cf177329df385be9
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fe323d2b4b76 paigeeworld/centos7 "/bin/bash -c 'while…" 5 seconds ago Up 4 seconds infallible_fermat
96cb340ffb70 paigeeworld/centos7 "/usr/bin/bash -c ls…" 27 minutes ago Exited (0) 27 minutes ago sad_solomon
容器迁移
推送容器
[root@localhost opt]# scp [email protected]:/opt/
[email protected]'s password:
nginx_c 100% 123MB 85.6MB/s 00:01
初始环境,删除已有的镜像
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx web ed21b7a8aee9 8 days ago 127MB
[root@localhost opt]# docker rmi ed21b7a8aee9
Untagged: nginx:web
Untagged: nginx@sha256:282530fcb7cd19f3848c7b611043f82ae4be3781cb00105a1d593d7e6286b596
Deleted: sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291
Deleted: sha256:8a305f371a6c3c445a1dfc500c1364743868a269ab8cdaf95902692e82168352
Deleted: sha256:d079ef06ec1f10a8050887365f9a940b39547ba6bcc46b16a463e740984f3223
Deleted: sha256:c3a984abe8a88059915bb6c7a1d249fd1ccc16d931334ac8816540b0eb686b45
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
导入容器
[root@localhost opt]# cat nginx_c |docker import - nginx:web
sha256:65e0795dbfb058933d1c37a5209f9081aa57a6be59860f82f3b95dc8e974e3d5
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx web 65e0795dbfb0 15 seconds ago 125MB
创建容器
[root@localhost opt]# docker create -it nginx:web /bin/bash
7a5f5e3c8b5b406ef16ffd10e759814dd7d83221f6b3484bd5e898ee28035d93
启动容器
[root@localhost opt]# docker start 7a5f5e3c8b5b
7a5f5e3c8b5b
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a5f5e3c8b5b nginx:web "/bin/bash" About a minute ago Up 1 second happy_agnesi