Docker 常用命令

in Docker

Centos8 中安装 Docker

官方自动安装脚本(国内使用阿里巴巴的源):

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

systemctl 开机启动 docker 服务

镜像

拉取公共镜像

docker pull <IMAGE NAME>:<TAG>

删除镜像

docker rmi xxx

创建镜像

从已经创建的容器中更新镜像,并且提交这个镜像
使用 Dockerfile 指令来创建一个新的镜像

构建镜像

编写 Dockerfile 文件

# 该镜像需要依赖的基础镜像
FROM java:8
# 将jar包复制到docker容器/home/soft/目录下
ADD security-0.0.1-SNAPSHOT.jar /home/soft/security.jar
# 声明服务运行在8080端口
EXPOSE 8080
# 执行命令
CMD ["java","-jar","/home/soft/security.jar"]
# 指定维护者名称
MAINTAINER Name

构建命令:docker build -t security:1.0 .

容器

查看运行的容器

docker ps

查看所有容器

docker ps -a

创建容器

docker create <OPTIONS> IMAGE <COMMAND> <ARG...>

使用镜像启动容器

docker run -it <IMAGE NAME>

后台运行

docker run -itd --name <CONTAINER NAME> <IMAGE NAME>

开启容器

docker start <CONTAINER NAME>

停止容器

docker stop <CONTAINER ID or CONTAINER NAME>

进入容器

docker exec -it <CONTAINER ID or CONTAINER NAME> /bin/bash

删除容器

docker rm -f <CONTAINER ID>

容器自启动

docker run --restart=always #启动容器时指定自启动
docker update --restart=always <CONTAINER ID> #修改容器配置为自启动

容器连接

端口绑定

docker run -d -p <HOST PORT>:<CONTAINER PORT>

容器互联

docker network create -d bridge <NETWORK NAME> #创建桥接网络
docker run -itd --name test1 --network <NETWORK NAME> ubuntu /bin/bash #启动容器时,加入桥接网络
使用 Docker Compose 技术

创建容器时指定网络模式

docker run -d --net=<NATWORK MODE> # 默认 bridge、可选 host、container、none