-
FROM ubuntu MAINTAINER me@hazyzh.com RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list RUN apt-get update RUN apt-get install -y nginx COPY index.html /var/www/html ENTRYPOINT ["usr/sbin/nginx", "-g", "daemon off;"] EXPOSE 80查看全部
-
var path = require('path'),
config;
config = {
production: {
url: 'http://mytestblog.com',
mail: {},
database: {
client: 'mysql',
connection: {
host : 'db',
user : 'ghost',
password : 'ghost',
database : 'ghost',
port: '3306',
charset : 'utf8'
},
debug: false
},
paths: {
contentPath: path.join(process.env.GHOST_CONTENT,'/')
},
server: {
host: '0.0.0.0',
port: '2368'
}
}
};
module.exports = config;
查看全部 -
容器和宿主机目录挂载的三种方式:
1.第一种方式:
# 运行容器内部地址nginx用来访问网页的地址/usr/share/nginx/html docker run -d --name nginx -v /usr/share/nginx/html nginx #给出容器的所有信息 docker inspect nginx > Mounts.Source 宿主机目录 [如果是mac,则该路径不是mac上的实际路径,因为mac上运行docker是还有一层虚拟层,这是docker虚拟层中的路径,可以在docker中访问到] > Mounts.Destination:/usr/share/nginx/html/ 容器目录 screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty [这个路径才是mac本身挂载的目录]
2.第二种方式:
#将当前目录下的html子目录挂载到容器中中的/var/www/html docker run -p 80:80 -d -v $PWD/html:/var/www/html nginx
3.第三种方式:
# 宿主机目录:$PWD/data docker目录:/var/mydata 容器名:data_container 基础镜像:ubuntu docker create -v $PWD/data:/var/mydata --name data_container ubuntu # -it表示使用交互的方式进入容器[默认ubuntu基础镜像没有服务] docker run -it --volumes-from data_container ubuntu /bin/bash #进入后执行mount,可以看到有/var/mydata目录的挂载信息 mount
查看全部 -
关于linux系统的,整理了一篇博客
https://www.cnblogs.com/crazymagic/articles/10128964.html
查看全部 -
version: '2'
networks:
ghost:
services:
ghost-app:
build: ghost
networks:
- ghost
depends_on:
- db
ports:
- "2368:2368"
nginx:
build: nginx
networks:
- ghost
depends_on:
- ghost-app
ports:
- "80:80"
db:
image: "mysql:5.7.15"
networks:
- ghost
environment:
MYSQL_ROOT_PASSWORD: mysqlroot
MYSQL_USER: ghost
MYSQL_PASSWORD: ghost
volumes:
- $PWD/data:/var/lib/mysql
ports:
- "3306:3306"
查看全部 -
1. 运行daocloud.io/nginx,由80端口映射在本地8080端口上:
docker run -p 8080:80 -d daocloud.io/nginx
-p 做端口映射,
-d 允许这个程序直接返回,把这个容器作为守护进程执行
2. copy文件到docker容器
docker cp 文件名 容器ID://usr/share/nginx/html
3. 保存对容器做的修改
docker commit -m '容器提交的msg' 容器ID 生成新镜像名字
4. 删除镜像
docker rmi 镜像ID
5. 列出容器
docker ps 列出当前运行的容器
docker ps -a 列出所有的容器
6. 删除容器
docker rm 容器ID1 容器ID2
7. 其他
docker pull 获取image
docker build 创建image
docker images 列出image
docker run 运行container
docker ps 列出container
docker rm 删除container
docker rmi 删除image
docker cp 在host和container之间拷贝文件
docker commit 保存改动为新的image
查看全部 -
#docker ps 查看docker进程
#docker run -p 8080:80 -d nginx 启动nginx服务
#docker stop 容器ID 停止服务
#docker cp index.html 177sdafdikdffdd://usr/share/nginx/html
#docker commit -m 'fun' 容器ID nginx-fun 保存改动生成一个新的镜像
#docker images 查看已有镜像
#docker rmi 镜像id 根据镜像ID删除镜像
#docker ps -a 查看所有运行过的镜像
#docker rm 镜像ID 删除镜像
#docker pull 获取镜像
#docker build 创建镜像
查看全部 -
Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目),例如一个 Web 服务容器再加上后端的数据库服务容器等查看全部
-
ghost/Dockfile
FROM ghost COPY ./config.js /var/lib/ghost/config.js EXPOSE 2368 # CMD ["npm", "start", "--production"]
最新版本的npm没有package.json
或者可以下老版本
查看全部 -
使用 Dockerfile 创建镜像
FROM alpine:latest #使用的基础镜像 MAINTAINER xbf #谁写的 ******** docker build -t hello_docker . (-t:给个标签,名字叫hello_docker;'.':路径名,把路径下所有内容送给docker engine).
查看全部 -
docker之linux安装:
#sudo wget -qO- https://get.docker.com | sh
-q标识输出要简单,O-标识标准输出,而不是输出到文件
#sudo usermod -aG docker xxx 把xxx用户添加到docker用户组中
查看全部 -
docker-compose stop 停止所有运行的组件
docker-compose rm 删除所有停止运行的组件docker-compose build重新构建 为何第一次没有运行这个呢,因为第一次没有镜像,它会帮做新镜像,这次不会,所以需要手动更新镜像
查看全部 -
dockerfile 定义的镜像是分层的, 每一行 都是单独保存 镜像在运行起来的时候里面的层是只读的,在其上的容器层是可读可写的 相同的镜像层会复用,一定程度上减小了空间的使用查看全部
-
Ro:只读 当image运行为一个容器时,会产生一个容器层(container layer),可读可写。 分层好处:多个image时,相同的层可以共享,减轻压力。查看全部
举报