docker 基础命令语法
2.1 docker 用法
docker {子命令} [OPTIONS] COMMAND
2. 关于镜像的命令
2.2.1 垃取镜像
命令:pull
语法: docker pull [镜像]
示例:centos
docker pull centos
2.2.2 查找可用的镜像
[root@ansible-controller ~]# docker search ubuntu
2.2.3 列出本地镜像
[root@ansible-controller ~]# docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 9 months ago 13.3kB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@ansible-controller ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 9 months ago 13.3kB
centos latest 5d0da3dc9764 2 years ago 231MB
2.2.4 删除本地镜像
rmi --rm image
[root@ansible-controller ~]# docker rmi 5d0da3dc9764
Untagged: centos:latest
Untagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Deleted: sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
Deleted: sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59
3. 创建/管理container
3.1 创建一个container
语法:
Usage: docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
[root@ansible-controller ~]# docker create --name web-nginx nginx:latest
dd8560bc86b20e4ac032dacf0a14ec01597336e86990979d3395b01b3993b8f7\
[options]
--name #容器的名称
3.2 运行一个container
语法:
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
示例:
[root@ansible-controller ~]# docker run e4720093a3c1
[root@ansible-controller ~]# docker run -P nginx:latest
[root@ansible-controller ~]# docker run -p 80:80 e4720093a3c1
[root@ansible-controller ~]# docker run --name nginx_test -p 80:80 -d nginx:latest
[root@ansible-controller ~]# docker run -it --name my_cnetos --rm 5d0da3dc9764 #测试使用,及时销毁
选项:
--name
-p
-P
-d #在后台运行容器并打印容器 ID
-i #即使未连接,也要保持 STDIN 打开
-t TTY #分配一个伪6终端
3.3 停止一个container
[root@ansible-controller ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11064c8e0064 5d0da3dc9764 "/bin/bash" 11 minutes ago Up 11 minutes my-centos
9a23b9ebcb9e nginx:latest "/docker-entrypoint.…" 33 minutes ago Up 33 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx_test
[root@ansible-controller ~]# docker stop nginx_test
nginx_test
[root@ansible-controller ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11064c8e0064 5d0da3dc9764 "/bin/bash" 14 minutes ago Up 14 minutes my-centos
3.4 重启一个container
[root@ansible-controller ~]# docker restart nginx_test
nginx_test
3.5 列出容器
# 只列出正在运行container
[root@ansible-controller ~]# docker container list
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#列出所有的container (正在运行、以退出)
[root@ansible-controller ~]# docker container list --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd8560bc86b2 nginx:latest "/docker-entrypoint.…" 2 minutes ago Created web-nginx
568d91fc0590 hello-world "/hello" 30 minutes ago Exited (0) 30 minutes ago goofy_ritchie
[root@ansible-controller ~]#
[root@ansible-controller ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@ansible-controller ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd8560bc86b2 nginx:latest "/docker-entrypoint.…" 4 minutes ago Created web-nginx
568d91fc0590 hello-world "/hello" 33 minutes ago Exited (0) 33 minutes ago goofy_ritchie
[root@ansible-controller ~]#
3.6 获取容器详细信息
用法:
docker inspect {容器名称/容器的ID}
[root@ansible-controller ~]# docker inspect 10e8bfa05b00
3.7 进入容器
[root@ansible-controller ~]# docker exec -it 9a23b9ebcb9e /bin/bash
3.8 删除container
[root@ansible-controller ~]# docker rm web-nginx
web-nginx
3.9 获取容器日志
[root@ansible-controller ~]# docker logs -f nginx_test
3.10 拷贝
语法:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
示例1:
[root@ansible-controller docker_nginx]# docker cp af8d6a0271fe:/etc/nginx .
八、数据持久化 volume
- 保证数据安全
- 数据一致性
- 修改配置文件
[root@ansible-controller html]# docker run --name nginx_volume -itd -p 81:80 -v /opt/docker_nginx/html/:/usr/share/nginx/html/ -4720093a3c1
[root@ansible-controller docker_nginx]# docker run -itd -P --name nginx_test_v1 -v /opt/docker_nginx/nginx:/etc/nginx/ -v /opt/docker_nginx/html/:/usr/share/nginx/ nginx:latest
评论 (0)