Docker-命令

Docker:

1、Docker Effect:

1、作用:

1、解决环境切换/配置繁琐工作。

将所需要的环境构建成一个镜像,使用的时候直接下载相应的容器,容器包含了我们程序运行中所需要的环境,无需对环境进行重复的配置。

2、docker运行原理:

1、配置文件:
  docker配置文件:docker-compose.yml/..-dockerfile
  1)docker-compose.yml中创建镜像(一般为官网下载的镜像)
  2)..-dockerfile一般为自定义镜像,需手动配置属性参数
2、Image:
 

 

2、Question:

1、权限不足:

使用添加sudo运行docker命令:

(base) kevin@kevin-dev:~$ sudo docker ps

2、属性:

1、volume:

docker中,image为只可读,当运行镜像时,如果需要对容器中的文件进行修改,那么容器将会对原始文件进行隐藏,当删除容器的时候已修改的文件会恢复默认,这个过程称之为Union file System(联合文件系统)。对此为保存修改(持久化)数据,volume将容器目录与宿主机目录对应,用来存储持久化数据。

volumes:
 #./conf/redis.conf宿主机目录 /etc/redis/redis.conf容器目录
- ./conf/redis.conf:/etc/redis/redis.conf:ro
- ./redis:/data

3、Order

1、docker version:查看容器版本

2、docker info:查看容器信息

3、sudo docker images:查看所有镜像

4、sudo docker ps:查看容器

等同sudo docker container ls

img

5、sudo docker ps -a:查看正在运行+历史运行过的容器

1584064997912

6、docker_compose配置信息:

version: '2.0'                                                      
services: #服务列表
redis:
images: redis:rc-alpine #镜像本版
container_name: msf_redis #启动容器实例名称
volumes:
- ./conf/redis.conf:/etc/redis/redis/conf/ro
- ./redis:/data
command: #容器启动之后命令
- redis-server
- /ect/redis/redis.conf
env_file: #配置文件
- ./env.redis.env
ports: #端口映射
-6379:6379
networks: #网络(自定义)
- msfnet
restart: on-failure #是否跟随Docker重启而重启(always)
postgresql:
iamge: postgres:alpine
container_name: msf_postgres
privileged: true #用户权限(设置为root权限?)
volumes:
- ./conf/postgresql.conf:/var/lib/postgresql/data/postgresql.conf.ro
- ./postgres:/var/lib/postgresql/data/pgdata
env_file:
- ./env/postgres.env
#command:
#todo:
ports:
- 5432:5432
networks:
- msfnet
restart: on-failure
sass:
build:
context: ./
dockerfile: ./sass_dockerfile
container_name: msf_sass
volumes:
- ./conf/nginx.conf:/ect/nginx/nginx.conf:ro
- ./webapp:/webapp
evn_file:
- ./env.sass.env
depends_on: #依赖服务
- postgres
- redis
ports:
- "8100:80"
networks:
- msfnet

networks: #自定义属性
msfnet: #网络
driver: bridge

7、docker-compose -v:查看docker是否安装成功

8、dockerfile文件:

FROM openjdk:8-apline  #指出镜像
ENV LANG C.UTF-8 #解决乱码

#构建镜像执行的命令

#设置国内镜像资源
RUN sed -i 's/dl-cdn.aplinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /ect/apk/repositories\ #直接编辑文件repositories文件并替换
&& apk update\ #更新本地镜像源
&& apk upgrade #升级软件

#安装nginx(无缓存)
RUN apk add --no-cache nginx tzdata

#配置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/lcoaltime\
&& echo 'Asia/Shanghai' >/etc/timezone

#清理文件
RUN rm -rf /roor/.cache /temp/*

#设置nginx路径
RUN mkdir /run/nginx

WORKDIR /webapp #工作目录

RUN sh -c 'touch app.jar'  

EXPOSE 80  #外界交互的端口

volume [" /webapp"] #指定持久化目录
ENTRYPOINT sleep 60 && /bin/sh startup.sh

9、sudo docker rm + 容器id :删除容器

10、sudo docker rmi + 镜像id :删除镜像

11、docker pull name: tag :直接从Docker Hub中心下载镜像

12、docker run -it image:tag /bin/bash 等同于 docker run -it image:tag /bin/sh 创建并启动容器

13、docker exec -it containerID /bin/sh :进入docker进行操作(待确定)

14、docker run image:tag /bin/echo "xxx" :创建启动了image容器,使用容器中的echo打印了xxx内容

15、docker run -d image:tag /bin/sh -c "":后台创建运行容器

16、docker logs containerID:查看容器日志

17、docker logs -f containerID :实时查看容器日志

18、Ctrl+D :退出

19、docker top containerID:查看当前容器的进程

20、docker inspect containerID:查看容器的详细信息

21、apt-get update:更新

22、docker commit -m = "操作" -a="author_name" containerID image/tag

23、docker buil -t imageName . :在当前目录下创建镜像

24、dokcer start containerID :启动容器

25、docker-compose up :启动并运行docker-container

26、docker ordre大全:https://ss.csdn.net/p?https://upload-images.jianshu.io/upload_images/4424012-983737d51de7607c.jpg

27、docker重启:docker restart containerId(等同于:docker stop containerId + docker start containerId)

28、docker run为创建容器

posted @ 2020-04-14 16:07  趙楊  阅读(368)  评论(0编辑  收藏  举报