Docker常用命令

fansichao 2021-10-23 16:25:17
Categories: > Tags:

Docker 常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Docker服务启停
service docker restart
# 创建一个容器
docker run -it -v /docker_test:/yufei --name yufei_6 centos
参数说明
-i: 允许我们对容器内的 (STDIN) 进行交互
-t: 在新容器内指定一个伪终端或终端
-v: 是挂在宿机目录, /docker_test是宿机目录,/yufei是当前docker容器的目录,宿机目录必须是绝对的。
--name: 是给容器起一个名字,可省略,省略的话docker会随机产生一个名字
# 查看docker容器列表(运行中)
docker ps
# 查看所有的docker容器列表
docker ps -a
# 启停容器
docker start yufei_01
docker stop yufei_01
docker restart yufei_01
# 查看容器的日志
docker logs -f yufei_01
# 删除容器,如果容器在运行需要先停止
docker stop yufei_01
docker rm yufei_01
# 删除所有容器
docker rm $(docker ps -a -q)



# Docker服务启停
service docker start
service docker stop
service docker restart

# Docker网络管理
docker network create --subnet=172.18.0.0/16 extnetwork #创建网络
docker network ls #列出当前所有网络
docker network rm extnetwork #删除网络

# 创建一个容器
docker run --privileged=true -m 8000M --cpus=2 -itd --name 12306 --net extnetwork --ip 172.18.0.72 docker_7 /usr/sbin/init
参数说明
-i:允许我们对容器内的 (STDIN) 进行交互
-t:在新容器内指定一个伪终端或终端
-d: 后台运行
--privileged=true 如果不加此参数,root也可能会部分操作无权限
-m 限制最大使用内存
--cpus cpu使用限制
--name:是给容器起一个名字
--net 指定网段
--ip 指定ip
参数里面的centos是镜像名字,如果本地无名字对应的镜像,则会在网络上寻找,并自动下载到本地,若不指定版本,则下载最新版本

# 查看docker容器列表(运行中)
docker ps
# 查看所有的docker容器列表
docker ps -a

# 启停容器
docker start docker_7
docker restart docker_7
docker stop docker_7

# 删除容器,如果容器在运行需要先停止
docker stop docker_7
docker rm docker_7

# 容器保存为镜像
docker commit docker_7 img_docker_7

# 镜像导入导出
docker export docker_7 -o docker_7.tar
docker import docker_7.tar docker_7

Docker 命令大全

docker 命令样例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

# 启动镜像时,设定docker系统参数 - 修改系统参数 生效
docker run -it -d -p 80:80 -p 3000:3000 -p 8080:8080 -p 9200:9200 -p 5600:5602 -p 5601:5601 --env=vm.max_map_count=262144 fdm_docker_ok /bin/bash

镜像的导入导出
# 导出镜像 images
sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
sudo docker save -o /home/user/images/ubuntu_14.04.tar ubuntu:14.04
# 导入镜像
sudo docker load --input ubuntu_14.04.tar
sudo docker load < ubuntu_14.04.tar


镜像删除
docker rmi images_id


容器模块

查看容器的环境变量
* 使用docker inspect命令来查看
# docker inspect <CONTAINER-NAME> OR <CONTAINER-ID>
* 使用docker exec -it <CONTAINER-NAME> OR <CONTAINER-ID> env查看

docker镜像启动命令 - 镜像启动每次容器ID都会变更
docker run -it -d -p 50001:22  -p 80:80 -p 3000:3000 -p 8080:8080 -p 9200:9200 -p 5600:5602 -p 5601:5601 --env=vm.max_map_count=262144  fdm_docker /bin/bash

docker 容器启动命令
docker container start 4d15e75d1116 

进入docker容器中
docker exec -it fa6e4ac38997 /bin/bash

查看容器ID
# 查看当前运行的容器
docker ps
# 查看历史所有的容器
docker ps -a 
可以通过启动历史容器,并进入

保存容器为镜像
docker ps -a 
可以通过启动历史容器,并进入


容器的导入导出
# 容器的导入
docker import fdm_docker.tar.gz  fdm_docker
# 将容器保存为镜像
docker commit 8e613c207029 fdm_docker02 


# 查看所有容器名称及IP
(env) [fdm@fdm ~]$ docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
/oracle11g_2 - 172.17.0.3
/fdm_es56 - 172.18.0.85
/fdm_es74 - 172.18.0.84
/oracle11g - 172.17.0.2
/fdm_graph - 172.18.0.86