Home docker基础命令
Post
Cancel

docker基础命令

1
2
3
4
5
6
# 查看版本
docker version
# docker更详细的信息,images和容器数量等
docker info
# 帮助命令
docker <cmd> --help

docker refrence

镜像相关命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 本地所有镜像
docker images -a
# 所有镜像id
docker images -aq
# 查询镜像
docker search <name>
	--filter #过滤参数
# 拉去镜像,默认使用最新版,可以使用[:tag]指定版本
docker pull <name>
# 删除镜像
docker rmi -f <id>
# 删除所有镜像
docker rmi -f $(docker images -aq)

容器相关命令

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
# 运行容器 如果本地没有会下载 -it 进入运行 --rm 用完退出即删除,用来测试,
docker run [可选参数] <image>
	-it # 进入运行
	--name="ubuntu1" # 命名
	-d # 后台运行,如果没有前台进程,马上就会退出
	-p 3355:8080 # 外部3355映射内部8080端口
	-P #端口
# 退出容器,
exit #没有进程运行就会直接被关闭
ctrl + p + q #退出不停止

# 查看当前运行的容器
docker ps
	-a #查看所有容器
	-n=[num] #查看数量
	-q #只显示编号
	
# 启动、重启、停止、强制停止 容器
docker start <id>
docker restart <id>
docker stop <id>
docker kill <id>

# 进入容器,开启的是新的终端
docker exec -it <image> /bin/bash
# 进入容器当前运行的进程终端
docker attach <image> 

#删除容器
docker rm <id> # 不能删除正在运行的容器
docker rm -f $(docker ps -aq)

# 查看容器日志
docker logs -tf --tail [n] <id>
# 查看容器内部进程信息
docker top <id>

# 查看容器的元数据,详细数据
docker inspect <id>

# 从容器内拷贝文件到主机上 容器 -> 主机
docker cp <id>:/path /path
# 从主机内拷贝文件到容器上 主机 -> 容器
docker cp /path <id>:/path

commit 镜像

1
2
3
4
5
docker commit #提交镜像成为一个新的版本
docker commit -m="描述信息" -a="作者" <id> <镜像名称:版本号>

e.g.
docker commit -a "jiangker" -m "带有zsh git wegt vim的ubuntu系统" bafe391362ee jiangker/ubuntu:0.1

上传阿里云

推送:https://cr.console.aliyun.com/repository/cn-beijing/jiangker/ubuntu/details

DockerFile

将主机地址挂载到docker容器中,保证移除容器之后文件还能保存

1
2
3
4
5
6
7
8
# 把主机目录挂载到容器
docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 -v /home:/var/lib/mysql mysql
	-e #环境配置
	-v #挂载卷
# 同步挂载的文件夹(继承)
docker run -it --name ubuntuo2 --volumes-from ubuntu01 <id/name:version>

# docker挂载若出现cannot open directory: Permission denied可以在命令后增加 --privileged=true

DockerFile的指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FROM # 基础镜像,一切从这里构建 ubuntu
MAINTAINER # 镜像是谁写的,name+email
RUN # 镜像构建时候需要运行的命令
ADD # 需要添加进去的工具 tomcat
WORKDIR # 镜像的工作目录
VOLUME # 挂载的目录
EXPOSE # 指定暴露端口
CMD # 指定这个容器启动的时候需要运行的命令,只有最后一个会生效
ENTRYPOINT # 可以直接追加命令
ONBUILD # 当构建一个被继承DockerFile这个时候就会运行这个命令
COPY # 类似ADD命令,将文件拷贝到镜像中
ENV # 构建时候设置环境变量

# 运行dockerFile
docker build -f <fileName> -t <name:version> .

# 查看构建过程
docker history <id>
This post is licensed under CC BY 4.0 by the author.