Docker 学习的一些常用命令

国内镜像源

http://registry.docker-cn.com

列出所有镜像

docker images

删除所有镜像

docker rmi docker images -q

后台启动某个镜像

docker run -d 镜像名:tag
会得到容器id

后台启动镜像并映射端口

docker run -d -P 镜像名:tag
-P会自动映射docker应用的默认端口到主机随机端口
docker run -d -p 5000:8080 tomcat:9.0.22-jdk8-openjdk-slim
主机5000端口映射到docker容器的8080端口

交互模式启动某个镜像

docker run -it 镜像名:tag

列出所有正在运行的容器

docker ps

列出所有容器,包含已停止的

docker ps -a

查看镜像/容器元数据(所有details)

docker inspect image/containerId

查看container log

docker logs containerid

删除所有容器

docker rm docker ps -a -q

删除一个容器

docker rm containerId(前几位就行,只要能唯一匹配)

删除多个容器

docker rm containerId1 containerId2 containerId3 … (前几位就行,只要能唯一匹配)

进入容器

docker exec -it 容器id bash

退出容器

exit

查看容器的修改

docker diff
修改了容器的文件,改的是容器的存储层,可通过查看修改

查看操作系统信息

cat /etc/issue
容器内某些操作查看的仍是宿主机的内容,因为有些宿主机的path,如/proc /dev是不能隔离的
所以。。。

镜像文件导出到本地,可用于移植到其他机器上运行

docker save -o /…/name.tar 镜像名:tag

镜像文件导入到本地

docker load /…/name.tar

docker 安装默认目录:

/var/lib/docker/
一般空间比较小,需要设置成其他大空间目录(可以移植path,网上有很多)

Commit创建镜像 - 保存修改并提交成新的镜像

docker commit 镜像id 自定义的新的镜像名

Dockfile 创建镜像

1.设置基础镜像源(https://hub.docker.com可以在官方网站上找)
FROM 镜像名:tag号
2.复制本地文件到容器系统文件中.copy的src文件只能是本地文件
ADD/COPY a.jar b.jar
3.设置 容器对外映射的端口
EXPOSE 8080
4.配置容器启动后执行的命令
ENTRYPOINT
如【“java”,“-jar”,“/app.jar”】
->构建镜像到本地镜像list
5.docker build -t 跟你想要的镜像名称

FROM tomcat:9.0.22-jdk8-openjdk-slim
#FROM xxx:latest
# ARG WAR_FILE 声明参数,来自pom中设置
ARG WAR_FILE
#COPY ${WAR_FILE} /usr/local/tomcat/webapps/xxx.war
#COPY  dockerfile当前根目录/target/xxxxx.war /usr/local/tomcat/webapps/xxx.war
COPY  ${WAR_FILE} /usr/local/tomcat/webapps/xxx.war
#WORKDIR 类似于cd
#WORKDIR /usr/local/tomcat/webapps/(进入docker镜像某个目录)
#RUN /bin/sh -c 'ln -s xxxxx.war xxx.war' (run 脚本)
#WORKDIR /usr/local/tomcat/conf/Catalina/localhost/
#RUN /bin/sh -c 'touch xxx.xml && echo "<Context docBase='/usr/local/tomcat/webapps/xxx.war'></Context>" > xxx.xml'
#WORKDIR /usr/local/tomcat/bin/
#RUN
EXPOSE 8080
ENTRYPOINT ["catalina.sh","run"]
Docker 启动postgres & PGAdmin4

Postgres
docker run -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 --name postgres postgres
PGAdmin4
docker run -d -p 5433:80 --name pgadmin4 -e PGADMIN_DEFAULT_EMAIL=test@123.com -e PGADMIN_DEFAULT_PASSWORD=123456 -e “PGADMIN_LISTEN_ADDRESS=0.0.0.0” xxxpgadmin4(name)

没有PGADMIN_LISTEN_ADDRESS=0.0.0.0会报如下错误,因为pgadmin默认会监听ipV6 地址,:: 应该代表ipV6的,0.0.0.0 则是ipV4

postfix/postfix-script: starting the Postfix mail system
[2022-03-28 19:30:53 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2022-03-28 19:30:53 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-28 19:30:54 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-28 19:30:55 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-28 19:30:57 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-28 19:30:58 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-28 19:30:59 +0000] [1] [ERROR] Can't connect to ('::', 80)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值