一、容器的操作
//容器创建
docker create -it nginx:latest /bin/bash
/查看容器
docker ps -a
//启动容器
docker start f8e1721ade00
//查看状态为up
docker ps -a
//启动执行命令查看系统根目录
docker create -it centos:7 /bin/bash
docker start b7283f037734
docker run centos:7 /usr/bin/bash -c ls
///执行完成直接关闭状态是Exited
//持续在后台执行
docker run -d paigeeworld/centos7 /bin/bash -c "while true;do echo hello;done"
//容器导出
docker export 08d8e7a49e27 > nginx_c
//容器导入(会生成镜像,而不会创建容器)
cat nginx_c | docker import - nginx:web
//删除容器
docker rm 08d8e7a49e27
//批量删除容器
docker rm -f $(docker ps -aq)
二、私有仓的创建
-----------------------------------私有仓库-----------------------------------
docker pull registry
-------------------------以下是显示下载完成信息-----------------------------
Using default tag: latest
latest Pulling from library/registry
4064ffdc82fe: Pull complete
c12c92d1c5a2:Pull complete
4fbc9b6835cc: Pull complete
765973b0f65f: Pull complete
3968771a7c3a: Pull complete
Digest: sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8
Status:Downloaded newer image for registry.latest
---------------------------------------------------------------------------------
vim /etc/docker/daemon.json
{
"insecure-registries"": [""192.168.27.129:5000""].1/添加
"registry-mirrors": ["https://05vz3np5.mirror.aliyuncs.com]
}
systemctl restart docker.service
docker create -it registry /bin/bash
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATuS PORTS NAMES
6f7497fcc8c2 registry "/entrypoint.sh /b..” 59 seconds ago Created 20 seconds ago musing_turing
docker start 6f7497fcc8c2
//宿主机的/data/registry自动创建挂载容器中的/tmp/registry
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
//更改标记为192.168.27.129:5000/nginx
docker tag nginx:latest 192.168.27.129:5000/nginx
//上传
docker push 192.168.27.129:5000/nginx
The push refers to repository [192.168.27.129:5000/nginx]
4fc1aa8003a3:Pushed
5fb987d2e54d:Pushed
831c5620387f:Pushed
latest: digest: sha256:189cce606b29fb2a33ebc2fcecfa8e33b0b99740da4737133cdbcee92f3aba0a size: 948
//获取私有仓库列表
curl-XGET http://192.168.27.129:5000/v2/_catalog
//显示上传成功
(""repositories":[""nginx"")
//测试私有仓库下载
docker pull 192.168.27.129:5000/nginx
Using default tag: latest
latest: Pulling from nginx
000eee12ec04:Pull complete
eb22865337de:Pull complete
bee5d581ef8b: Pull complete
Digest: sha256:189cce606b29fb2a33ebc2fcecfa8e33b0b99740da4737133cdbcee92f3aba0aStatus: Downloaded newer image for 192.168.27.129:5000/nginx:latest
192.168.27.129:5000/nginx:latest
三、Docker数据卷
//宿主机目录/var/www挂载容器中的/data1
docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash
[root@202dd484fd62 /# cd /data1/
[root@202dd484fd62 data1]# touch test123
J返回宿主机进行查看
[root@localhost ~]# ls /var/www/
四、数据卷容器
//数据卷容器
docker run --name web100 -v /data1 -v /data2 -it centos:7/bin/bash
//新容器挂载数据卷容器web100
docker run -it --volumes-from web100 --name db1 centos:7 /bin/bash
五、端口映射
docker run -d -P nginx
docker run -d -p 49280:80 nginx
docker ps -a
6d461287c25d httpdcentos "/run.sh” 7 seconds ago Up7 seconds 0.0.0.0:49280->80/tcp zen swanson
六、容器互联(使用centos镜像)
docker run -itd -P --name web11 centos:7 /bin/bash//创建并运行容器取名web1,端口号自动映射
docker run -itd -P --name web22 --link web11:web11 centos:7 /bin/bash
//创建并运行容器取名web2,链接到web1和其通信进web22容器 ping web1
//--link name:alias --link容器名:别名