docker 镜像操作
 
拉取镜像 
docker pull 镜像地址名称
 
查看本地镜像 
docker images
 
删除本地镜像 
docker rmi 镜像id
 
镜像导出 
dokcer save -o /home/user/docker/filename imageid
 
镜像导入 
docker load -i filename
 
修改标识 
docker tag 镜像id name:tag 
 
容器的操作
 
运行容器 
docker run 镜像id
[镜像名称:tag
] 
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像id
[镜像名称
|TAG
]
 
查看正在运行的容器 
docker 
ps [-qa
]
 
查看容器的日志 
docker logs -f 容器id
 
进入容器内部 
docker 
exec -it 容器id 
bash 
 
停止容器 
docker stop 容器id
 
删除容器 
docker 
rm 容器id
docker 
rm ${docker ps -qa}
 
宿主机文件复制到容器内部 
docker 
cp 文件名称 容器id:容器内部路径
 
数据卷
 
创建数据卷 
docker volume create 数据卷名称
 
查看数据卷信息 
docker volume inspect 数据卷名称
 
查看全部数据卷 
docker volume 
ls
 
删除数据卷 
docker volume 
rm 数据卷名称
- 使用数据卷
```bash
docker run -v 路径:容器内部的路径 镜像id
 
自定义镜像
 
创建Dockerfile文件
 
  
  from daocloud.io/library/tomcat:8.5.15-jre8 
  copy ssh.war /usr/local/tomcat/webapps 
  workdir 
  cmd 
 
制作镜像
 
docker build -t 镜像名称
[:tag
]
 
Docker-Compose
 
Docker-Compose批量管理容器,需要单独安装
 
编写docker-compose.yml文件
 
version: 
'3.1'
services:
  mysql:  
    restart: always 
    image: daocloud.io/library/mysql:5.7.4 
    container_name: mysql 
    ports: 
      - 3306:3306 
    environment:
      MYSQL_ROOT_PASSWORD: 123456 
      TZ: Asia/Shanghai 
    volumes: 
      - /opt/docker_msyql/data:/var/lib/mysql 
  tomcat:
    restart: always
    image: daocloud.io/library/tomcat:8.5.15-jre8
    container_name: tomcat
    ports:
      - 8080:8080
    environment:
      TZ: Asia/Shanghai
    volumes:
      - /opt/docker_tomcat/tomcat_webapps:/user/local/tomcat/webapps 
      - /opt/docker_tomcat/tomcat_logs:/usr/local/tomcat/logs
 
使用docker-compose同时启动tomcat和mysql容器(在docker-compose.yml路径启动)
 
docker-compose up -d
 
其他命令
 
关闭并删除容器 
docker-compose down
 
开启关闭或重启已经存在的docker-compose维护的容器 
docker-compose start
|stop
|restart
 
查看docker-compose管理的容器 
docker-compose 
ps
 
查看日志 
docker-compose logs -f
 
docker-compose配合Dockerfile使用 
  编写docker-compose.yml  
version: 
'3.1'
services:
  ssm:
    restart: always
    build:
      context: 
../ 
      dockerfile: Dockerfile 
    image: ssm:1.0.1
    container_name: ssm
    ports:
      - 8081:8080
    environment:
      TZ: Asia/Shanghai
 
在docker-compose.yml的上级目录编写Dockerfile文件 
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
 
重新构建自定义镜像 
docker-compose build
docker-compose up -d --build
 
Docker CI、CD
 
CI(continuous intergration) 继续集成
 
搭建gitlab服务器
 
通过docker-compose.yml去安装gitlab 
version: 
'3.1'
services:
  gitlab:
    image: 
'twang2218/gitlab-ce-zh:11.1.4'
    container_name: 
'gitlab'
    restart: always
    hostname: 
'gitlab'
    environment:
      TZ: 
'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: 
|
      external_url 
'http://ip'
      gitlab_rails
['time_zone'] = 'Asia/Shanghai'
      gitlab_rails
['smtp_enable'] = true
      gitlab_rails
['gitlab_shell_ssh_port'] = 22
    ports:
      - 80:80
      - 443:443
      - 22:22
    volumes:
      - /opt/docker_gitlab/config:/etc/gitlab
      - /opt/docker_gitlabe/data:/var/opt/gitlab
      - /opt/docker_gitlab/logs:/var/log/gitlab