启动docker服务
systemctl start docker

查看Docker状态
systemctl status docker

设置Docker开机自启
systemctl enable docker

禁用Docker开机自启
systemctl disable docker

重新启动Docker服务
systemctl restart docker

查看Docker信息
docker info

停止docker服务
systemctl stop docker

加载已有的镜像到Docker中:
docker load < xxx.tar # xxx.tar表示镜像文件

查看Docker内的镜像列表
docker images

查看容器列表

格式

docker ps [参数]
docker ps # 查看当前系统中正在运行的容器列表

参数

-a : 查看系统中所有的容器。
-q : 仅显示容器的ID

创建容器

格式

docker run [参数] [镜像名称] [运行容器的启动命令]

参数

-d : 以守护进程的方式运行一个容器
    docker run -d [镜像名称] [cmd]
--name : 指定容器的名称
    docker run -d --name [容器名称] [镜像的名称] [cmd]
-p : 指定端口映射
    docker run -d -p 宿主主机端口:容器内端口 [镜像名称] [cmd]
-P :随机端口映射
    docker run -d -P [镜像名称] [cmd]
-i : 打开标准输出
-t : 创建一个伪终端
    docker run -it [镜像名称] [cmd]
-v : 挂载目录到容器中
    docker run -v 宿主主机目录:容器内目录  [镜像名称] [cmd]
--rm : 容器生命周期结束时立即删除
    docker run --rm [镜像名称] [cmd]
-e : 在容器中创建一个环境变量
    docker run -e NAME=Centos -d [镜像名称] [cmd]
--link : 连接上一个容器,实现网络互通
    docker run --link 被连接的容器的名称:连接别名 [镜像名称] [cmd]
-h : 设置容器主机名
    docker run -h "主机名"  [镜像名称] [cmd]

docker run 运行流程
1、检查本地是否用指定镜像,如果没有则去对应的仓库下载镜像
2、启动容器,如果指定了命令则使用指定的命令,如果没有则使用默认的命令
3、返回容器ID

进入容器
容器启动后,需要进入容器做相关的操作,这个时候就需要进入到容器内部。

容器ID可以通过查看容器列表获得
docker attach [容器ID] # 个人最常用
docker exec -it [容器ID] /bin/bash # 这种方式也是可以的

删除镜像和容器
删除镜像
docker rmi [镜像ID] # 如果镜像有关联容器,将执行失败
docker rmi -f [镜像ID] # 强制删除镜像,同时删除关联的容器

删除容器
docker rm [容器ID] # 删除容器,如果容器在运行貌似也是删不掉的
docker rm -f [容器ID] # 强制删除

不进入容器情况下在容器内执行命令
docker exec -d [容器名称] /bin/bash -c [需要执行的命令] -g "daemon off;"

示例:
docker exec -d my_container_name /bin/bash -c "nohup java -jar /home/my/xxx.jar > /home/my/log/xxx.log 2>&1 &" -g "daemon off;"

标签: none

添加新评论