docker
docker 启动命令
systemctl start docker
重启docker服务
systemctl restart docker
关闭docker
systemctl stop docker
一.docker常用镜像命令
-
docker images 查看本地所有镜像
-
docker search mysql 查询dockerhub 的所有mysql镜像[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DVhfJxDK-1648058532892)(C:\Users\userhejianhua\AppData\Roaming\Typora\typora-user-images\1647957350655.png)]
-
docker pull mysql:tag 下载tag版本mysql 镜像
-
docker rmi mydql:tag 删除tag版本mysql 镜像
二.docker常用容器命令
1.docker run [OPTIONS] IMAGE:tag(运行该镜像生成容器,本地没有就先去远程下载在运行)
OPTIONS
-d:后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-m :设置容器使用内存最大值;
--name="nginx-lb": 为容器指定一个名称;
--volume , -v: 绑定一个卷 (docker 容器和linux 同一个文件指针)(docker run -it -v linux目录:容器目录 镜像名称)
2.docker ps [options] (查看所有正在运行的容器)
# 不带options
docker ps
# 显示全部容器,和总文件大小
docker ps -a -s
# 显示最近创建的容器
docker ps -l
docker ps -a -l
# 显示最近创建的 2 个容器
docker ps -n 2
# 显示完整的镜像ID
docker ps --no-trunc
# 只显示镜像ID
docker ps -q
3.docker start 容器id 或名字 (启动容器)
4.docker restart 容器id 或名字 (重启容器)
5.docker stop 容器id 或名字 (停止容器)
6.docker kill 容器id或名字 ( 强制停止容器)
7.退出容器
exit : 容器停止退出
ctrl+P+Q :容器不停止退出
8.docker logs -f -t --tail 容器id
-t:是加入时间戳
-f:跟随最新的日志打印
--tail:数字显示最好多少条
9.进入正在运行的容器
docker exec -it 容器id /bin/bash
docker attach 容器id
10 .复制容器文件到主机
docker cp 容器id:容器文件路径 主机文件路径
11.删除容器
docker rm 容器id
12.**docker commit 😗*从容器创建一个新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停
实例
runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
runoob@runoob:~$ docker images mymysql:v1
REPOSITORY TAG IMAGE ID CREATED SIZE
mymysql v1 37af1236adef 15 seconds ago 329 MB
三.dockerfile
使用步骤
1.编写dockerfile 文件
2. docker build 执行文件获得镜像
docker build -t bjc/demo:latest --rm .
解析:-t bjc/demo:latest,为构建的镜像标记名称,即镜像名为:bjc/demo,打标为latest;--rm,整个构建过程成功后删除中间环节的容器;.,单独的点,意思为根据当前目录下的Dockerfile文件生成镜像
3. docker run
保留字指令
FROM 基础镜像
MAINTAINER 镜像维护者的名字和邮箱
RUN 容器构建时需要运行的命令
EXPOSE 端口
WORKDIR 指定工作目录。用 WORKDIR 指定的工作目录,会在构建镜像的每一层中都存在。(WORKDIR 指定的工作目录,必须是提前创建好的)
ENV 构建镜像时设置环境变量
ADD 添加文件到镜像并解压
CMD 容器启动时要运行的命令(替换)
ENTRYPOINT 容器启动时要运行的命令(追加)
ONBUILD 父镜像在被子镜像继承后父镜像的onbuild 被触发