docker 及 docker-compose 的快速安装和简单使用https://www.cnblogs.com/morang/p/9501223.html
最后用pip安装docker-compose是最快的!
docker-compose教程(安装,使用, 快速入门) https://blog.csdn.net/pushiqiang/article/details/78682323
|
docker 常用基础命令
docker 常用基础命令
https://segmentfault.com/a/1190000010219967
Docker笔记—基础篇:
https://xz.aliyun.com/t/1791
docker基础命令
https://www.jianshu.com/p/146d6a991025
{
"runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } } }
|
搭建
Docker Compose
# Download the latest version of the vulhub git clone https://github.com/vulhub/vulhub.git
# Entry vulnerability directory cd /path/to/vuln/
# Compile (optional) docker-compose build
# Run docker-compose up -d
|
Build Image
Run Image
docker-compose up -d open http://localhost:3000
|
docker-compose images docker-compose ps -a
|
Docker
Build Image
docker build -t dockerflask:18.04 .
|
Run Image
docker run -p 3000:80 dockerflask open http://localhost:3000
-d 不会进入容器 docker run -dp 3000:80 id号
|
When adding new pip packages be sure to update your requirements.txt. These changes also requires rebuilding of the Docker image.
docker pull 从远程pull镜像
-t :指定要创建的目标镜像名
. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
使用docker images 查看创建的镜像已经在列表中存在,镜像ID为860c279d2fec
docker build -t yourname:tag .
docker run -it ubuntu /bin/bash 把镜像启动起来 -i: 交互式操作。 -t: 终端。 ubuntu: ubuntu 镜像。 /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 exit 退出容器
-d 不会进入容器 docker run -dp 3000:80 name:tag
docker start|stop|rm little:1 启动容器 docker attach|exec 1e560fca3906 进入容器 -i: 交互式操作。 -t: 终端。 docker attach|exec -it 1e560fca3906 /bin/bash | /bin/sh 有点环境 像alpine不支持bash
删除 所有停止的容器 docker container prune 停止使用容器 docker stop $(docker ps -aq)
删除 所有镜像 docker image ls
docker image prune 删除没用过的镜像
docker rmi $(docker images -q) 删除全部的镜像
https://colobu.com/2018/05/15/Stop-and-remove-all-docker-containers-and-images/
|
调试
查看镜像
docker images -a
docker start 容器ID或容器名
\1. 先查看已经暂停的容器实例信息
\2. 通过docker start 59ec 启动容器
\3. 通过docker ps 查看当前启动的容器
具体操作如下图
docker ps -a
二、停止一个正在运行的容器
1、docker stop 此方式常常被翻译为优雅的停止容器
docker stop 容器ID或容器名
参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
docker stop -t=60 容器ID或容器名
2、docker kill
docker kill 容器ID或容器名 :直接关闭容器
三、重启一个容器
docker restart 容器ID或容器名 :不管容器是否启动,直接重启容器
\1. 首先 docker ps 查看正在运行的容器信息,显示2分钟前启动运行
\2. docker restart 59ec 重启容器
\3. 再次 docker ps 查看容器信息 显示 2秒前启动运行
1、删除容器实例
docker rm 容器ID或容器名
\1. 先 docker ps -a 寻找已经停止运行的实例
2.docker rm 59ec 删除实例
3.docker ps -a 查看实例已经删除
具体操作如下图
、删除镜像
docker rmi 容器ID或容器名
\1. 首先 docker images 查看所有镜像
\2. 然后 docker rmi fe200 删除镜像
3.再次通过 docker images 查看镜像 发现已经删除
具体操作如下图
如果删除的镜像已经产生了容器实例(run过)不容器实例是否启动都会提示无法删除,因为被占用。这时需要先删除容器实例或添加删除参数
参数
-f :强制删除,一般用于被占用的删除
–no-prune :不移除该镜像的过程镜像,默认移除;(ps (⊙﹏⊙) 不是很理解这个参数查了几次没理解,有知道的欢迎评论告知我,后期知道后我将更新上去)
使用Docker搭建Postgresql数据库,及设置远程访问
交互式的
一、拉取Postgresq镜像 docker pull postgres
二、构建镜像容器 docker run -it --name postgres --restart always -e POSTGRES_PASSWORD='abc123' -e ALLOW_IP_RANGE=0.0.0.0/0 -v /home/postgres/data:/var/lib/postgresql -p 55433:5432 -d postgres –name : 自定义容器名称 POSTGRES_PASSWORD:数据库密码 -e ALLOW_IP_RANGE=0.0.0.0/0,这个表示允许所有ip访问,如果不加,则非本机 ip 访问不了 -v :进行映射,本地目录:容器内路径 -p:映射端口,宿主机端口:容器端口 最后是 镜像名称:端口号
|
三、进入postgres容器
docker exec -it postgres bash
四、切换当前用户,再登录数据库
将当前root切换成postgres su postgres
输入用户名,密码再命令执行完后,再根据提示输入
psql -U postgres -W
五、设置远程访问许可(很重要)
共需要修改两个配置文件:pg_hba.conf、postgresql.conf,步骤分别如下:
|
docker端口映射或启动容器时报错Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen
解决:
重启docker服务后再启动容器
systemctl restart docker
docker start foo
Docker docker 搭建 mysql
https://testerhome.com/topics/20900
ctfd搭建
平台用 docker搭建! 再上 docker题目!
写dockefile docker - compose
|
