-
1、container创建
docker run --name tomcat1 tomcat
- 如果本地有该image,直接使用,如果没有,会从远端拉取
-
2、查看container本地镜像仓库
docker images
-
3、 查看正在运行的container
docker ps
- 查看所有的container(不管是否退出)
docker ps -a
-
4 、删除container
docker rm -f containerid/containername
-
5、 希望该container能到后台运行
docker run -d --name tomcat1 tomcat
-
6、 删除全部的container
docker ps -a
所有的containerdocker rm -f $(docker ps -a)
先查看出所有的,然后再删除。
-
7、 进入指定的container中
docker exec -it containerid/name bash
root@6943e479f3e2:/usr/local/tomcat#
进入到了一个linux的目录- 结论:发现tomcat的container是运行在一个linux机器上的。
- tomcat的container的ip:ip a 127.17.0.2
curl localhost:8080
- 已知container–>image
docker pull centos
- vim 命令没有
- 在centos的container中安装vim:yum install -y vim
- container已经被修改了
- 基于被修改的container去生成一个image
docker container commit mycentos centos-image-new
- 如果想要对container进行修改,然后再使用相同的功能,重新打包成image
-
8、基于dockerfile创建出来的image
- 写一些语法,得到image
- from 制作该image的基层镜像
- run 运行一条指令,不仅仅是命令的执行,还是新layer(层)的创建
- ENV 常量的设置
- 制作Dockerfile
vim Dockerfile
docker build -t new-image
- 写一些语法,得到image
-
9、搭建自己的image仓库
- hub.docker.com -->register account----->sign in ----my own image—>push
- image:new-centos docker rmi -f删除
- docker tag new-centos 18774170212/new-centos
- docker push 18774170212/new-centos
- docker pull 18774170212/new-centos
-
10、docker的网络
- 查看本机的网卡,会发现在网卡中有一个docker网卡,172.17.0.1/16
docker run -d --name tomcat2 -p 8082:8080
端口映射
-
11、docker数据持久化
- 在物理机器中新建一个目录volume
- docker volume create --name v1
- 查看当前v1的信息
- docker volume inspect v1
- 以mysql数据库为例,使用v1
docker run -d -p 3301:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
- 进入到Mysql数据库的容器
- docker exec -it mysql bash
- mysql -u root -p
- 在物理机器中新建一个目录volume
-
12、Docker Compose
- 安装docker-compose
-
1、
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-
uname -s-
uname -m> /usr/local/bin/docker-compose
-
2、更改权限:chmod +x /usr/local/bin/docker-compose
-
3、查看版本:docker-compose --version
-
- docker compose 语法:docker-compose.yml
- wordpress------mysql 搭建一个博客
- services:表示一个container
- volumes:数据的映射
- 使用docker-compose常用的命令
- docker-compose-up #启动当前yml中的container,如果镜像没有的话,会拉取镜像
- docker-compose ps #查看当前compose中的service
- docker-compose stop/down #停止或者删除
- docker-compose images
- docker-compose exec mysql bash
- 安装docker-compose
version: "3"
services:
db:
image: mysql:8.0
command:
- --default_authentication_plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data: